Privacy Policy

Alarm Announcer Pro - Android

Last Updated: 3 July 2026

1. Introduction

Your privacy is important to us. Alarm Announcer Pro is published by bazzaztech (bazzaztech.com). This policy explains exactly what data the app collects, why, and how long we keep it.

2. Summary

Data Collected? Sent off-device? Stored on server?
Real name, email, phone No No No
Advertising ID (GAID) No (explicitly removed) No No
Anonymous install UUID Yes Yes Yes
Device model + OS version Yes (crash reports only) Yes 30 days
Approximate location Yes (weather feature, optional) Yes (sent directly to Open-Meteo) No
Voice recording sample Yes (Studio, with consent) Yes Not stored — discarded immediately after processing
Generated voice clone Yes (Studio) Yes Not stored — streamed to your device
Purchase token Yes (credit purchases) Yes Yes (audit log)
Google account subject ID (optional) Yes (if you Sign in with Google) Yes Yes (anonymous opaque ID only)
Crash stack traces Yes (opt-out available) Yes 30 days

3. Data We Collect and Why

3.1 Anonymous Install Identifier

On first launch we generate a random UUID and store it in SharedPreferences on your device. This identifier is not your Google account, device serial, Google Advertising ID (GAID), or any value that could identify you personally.

Purpose: Authenticate API requests via JWT tokens, associate purchased credits with your installation, and enable server-side credit tracking as the source of truth.

3.2 Crash Reports

If the app crashes, the following is recorded locally and sent to https://bazzaztech.com/api/crash on the next launch:

What we do NOT include: Real name, email, Google account, Google Advertising ID (GAID), phone number, or any sensor data.

Opt-out: Go to Settings → Privacy → Send Crash Reports and disable the toggle. All pending crash reports are deleted immediately.

Retention: Crash reports are kept for 30 days and then automatically purged.

We use our own self-hosted crash reporting — no third-party SDK such as Firebase Crashlytics or Sentry is used.

3.3 Weather (Optional)

If you enable the "Announcements - Weather" setting, the app requests your approximate location (ACCESS_COARSE_LOCATION — typically accurate to within a few kilometres) and sends the latitude/longitude directly to the Open-Meteo API (https://api.open-meteo.com/v1/forecast). We do not receive or store your coordinates. Open-Meteo's own privacy policy applies. Location is fetched once per alarm fire and is not tracked continuously.

You can disable this feature at any time in Settings → Announcements - Weather.

3.4 Voice Cloning — Studio (Optional)

If you use the Studio feature to create a personalised announcement voice:

  1. Recording: You record a 15–25 second voice sample using the device microphone. The audio stays on your device until you tap Submit.
  2. Upload: The raw audio file (M4A/AAC, up to 10 MB), your chosen announcement text, and your anonymous install UUID are sent to https://bazzaztech.com/api/alarmannouncerpro/clone, which forwards the audio directly to our AI provider (Cartesia). Your recording is never stored on our servers.
  3. Processing: Cartesia clones the voice from your sample and synthesises the announcement audio. The voice profile exists only for the duration of the API call and is permanently deleted by Cartesia immediately after synthesis completes.
  4. Download: The finished audio is streamed back to your device (stored in the app's private files directory) and is not retained on our servers.
  5. Local storage: Generated clones are kept in the app's private storage, accessible only to this app.
  6. Sharing: If you share a clone via the Clone Share feature, you can export it as a .aaclone file and share via any system share target (WhatsApp, email, etc.). The export and transfer happen entirely on your device — we do not receive or log any share activity.

Microphone permission: RECORD_AUDIO is only used while you are actively recording in Studio. The app does not access the microphone in the background.

Before using Studio you must accept the in-app Studio Terms & Conditions, which are shown the first time you tap Record.

3.5 In-App Purchases (Credits)

Credit packs are purchased through Google Play. Google handles all payment processing. We receive only the purchase token (a random string) from Google Play to verify the purchase server-side before granting credits.

Google Play's Privacy Policy governs their processing.

3.6 Content Store

The app fetches a catalogue of announcement audio files and ringtones from our servers. Requests include only your anonymous install UUID and a JWT bearer token. No browsing history or usage patterns are recorded. Downloaded audio is stored in the app's private files directory.

3.7 Social Account Linking — Google Sign-In (Optional)

To protect your credits from being lost if you uninstall and reinstall the app, you can optionally sign in with your Google account. After a credit purchase, the app displays a "Protect your credits" prompt.

Google Sign-In is handled by the Android Credential Manager. See Google Privacy Policy.

4. Data We Do NOT Collect

5. Data Storage and Retention

All app settings and preferences are stored locally on your device in SharedPreferences. Server-side retention periods are as follows:

Data Retention
Install UUID + credit balance Until you request deletion
Purchase audit log 7 years (financial record requirement)
Voice recording sample (server) Not stored — discarded immediately after processing
Generated voice clone (server) Not stored — streamed directly to your device
Crash reports 30 days
JWT tokens 90 days per token; refreshed automatically
Google social account link (optional) Until you request deletion

6. Your Control and Rights

You can manage or revoke permissions at any time in your device's Settings app:

To request deletion of your server-side data, email [email protected] with your anonymous install UUID (found in Settings → Support → Install ID). We will delete your credit balance and purchase history records. Purchase audit records required for legal or financial compliance cannot be deleted.

7. Third-Party Services

8. Security

All network communication uses HTTPS (TLS 1.2+). API requests are authenticated with per-install JWT tokens. Local backups are encrypted with AES-256-GCM (password-derived via PBKDF2, 65,536 iterations). We do not store passwords. Voice data is routed via our Cloudflare-gated API rather than directly to the AI provider.

9. Children

This app is not directed at children under 13. We do not knowingly collect any data from children.

10. Changes to This Policy

If we make changes, we will update the "Last Updated" date above. Continued use of the app after a change indicates acceptance of the updated policy. Significant changes will also be notified in-app.

11. Contact Us

Questions? Contact us here or email [email protected].