Privacy policy
LetsCalm is built so that the most sensitive thing it touches, the sound in your home, never leaves your phone. This policy explains exactly what the app does with data, the few things that do reach us, why, and how to get them removed. If anything here is unclear, email admin@letscalm.com.
1. The short version
- Microphone audio is analyzed on your device and discarded immediately. It is never recorded, stored, or transmitted.
- The app has no accounts, no advertising, no tracking across other companies' apps or websites, and no data sales.
- The app sends anonymous usage statistics (which screens are opened and when calming audio plays, for example) to Google Firebase Analytics, so we can see how the app is used. They contain no audio, name, or email address.
- Everything else that reaches us is something you choose to send: an email address for alerts, your acceptance of the beta agreement, and crash or bug reports.
- You can have any of it deleted by emailing us.
2. Microphone and audio
LetsCalm's purpose is to listen for pet vocalizations, so it asks for microphone permission and, if you allow it, keeps listening while the app is open and in the background. What happens to that audio:
- Audio is captured in short frames, converted in memory into numeric features, and evaluated by machine-learning models that run entirely on the phone. Each frame is discarded as soon as it has been evaluated.
- No audio is written to storage or sent over the network, and the app does not contain any code path that uploads sound. The only results of the analysis that leave the phone are the detected species and reading in an alert email you have turned on (section 4) and the detected species in usage statistics (section 7).
- You can stop listening at any time with the button on the main screen, and revoke the permission in your phone's settings.
- Because the microphone may pick up other people in your home, you are responsible for telling household members and guests that the app is running.
Separately, the app lets you record a short calming phrase in your own voice, or pick an audio file, to play back to your pet. Those recordings are stored only on your device and are never uploaded.
3. What stays on your phone
The following is stored on your device only, and is removed when you uninstall the app:
- Your settings: whether calming audio and alerts are enabled, which audio is selected, and your pet's name if you entered one.
- A mediation history: timestamps of when the app played audio or sent an alert, with the detected species and mood. You can clear it from Settings.
- A copy of your beta agreement acceptance record (see section 5).
- A random install identifier, used to tie crash reports and the acceptance record to the same install.
4. Email alerts (optional)
If you turn on notification alerts, you enter an email address and confirm it with a code we send you. After that, when the app detects sustained distress it sends a message to our alert service, which emails that address. The message contains only: the detected species, the mood or barking reading, a timestamp, and your pet's name if you provided one. It never contains audio.
- Your address is stored on your device and inside a signed token the app uses to authorize alerts. Our alert service is stateless and keeps no database of addresses.
- Emails are delivered through SendGrid (Twilio Inc.), which processes the address and message content to deliver them, under its own privacy policy.
- Every request to our alert service also includes the app's package name and, on Android, a hash of its signing certificate, so we can spot modified copies of the app. These describe the app build, not you.
- You can change or remove the address, or switch alerts off, in Settings at any time.
5. Beta agreement acceptance record
During the beta, the app asks you to accept the Beta Participation and Non-Disclosure Agreement before first use, by ticking a box and tapping "I Agree". You do not type your name or an email address. So that we hold a verifiable record of that agreement, the app sends the following to us, and we keep it for as long as the agreement is in force and for any period afterwards that the law requires:
| Data | Why |
|---|---|
| The install identifier and, on iPhone and iPad, the vendor identifier Apple provides for our apps | Relate the acceptance to your install of the app |
| Date and time of acceptance, on the device and on our server | Establish when the agreement was made |
| The version, a cryptographic hash, and a copy of the agreement text you saw | Prove which wording you accepted |
| App version and build number, platform, OS version, the app's package name and, on Android, a hash of its signing certificate | Relate the acceptance to the software you were given |
| The IP address and network client identifier of the request | Evidence that the acceptance came from your device |
Under the agreement, you are identified by that record and by the Google Play or TestFlight account through which you joined the beta. The record is emailed to a LetsCalm LLC mailbox. Because we do not ask for your email address, no copy is emailed to you; the date of acceptance, acceptance ID, and agreement version are shown in Settings. Acceptances made before 25 September 2026 used an earlier form, so those records also contain the name and email address typed at the time, and a copy was emailed to that address. Acceptances of agreement versions before 1.6 also contain device details: the Android ID on Android, and the device make, model, name and OS build. The record is not used for marketing and is not shared with anyone except as required to enforce the agreement or by law.
6. Crash reports and problem reports
If the app crashes, or if you use "Report a problem" in Settings, a report goes to Sentry (Functional Software, Inc.), the crash-reporting service we use. A report contains a stack trace, the app version, device model and OS version, the install identifier, recent app log lines, and the last few mediation-history entries. If you write a description in a problem report, that text is included. Reports never contain audio, your name, or your email address; we have configured Sentry not to collect personal identifiers or IP addresses. Sentry retains reports for 90 days.
7. Usage statistics
The app uses Google Analytics for Firebase (Google LLC) to count how it is used, so we can tell which features people rely on and where the app fails. It records these events:
- Which screen is open (Monitor or Settings).
- When monitoring starts or stops, and when the microphone stream stalls.
- When the app plays calming audio, sends an alert, or skips one, with the detected species and what triggered it.
Along with those events, the Firebase SDK sends a random app-instance identifier generated by Firebase, the app version, the device model and OS version, and your IP address, from which Google derives an approximate location such as country or city. The events never include audio, your pet's name, your email address, or anything you type. We have built the app without Apple's advertising identifier and switched off Firebase's advertising, ad-personalization and ad-storage features, and we do not link these statistics to your email address, acceptance record, or crash reports. Google processes this data under its own privacy policy and keeps it for the retention period set in our Google Analytics property. The app has no setting to turn statistics off; uninstalling the app stops them. Because the statistics carry only a random identifier, we cannot find them from your name or email address, so we cannot single out or delete one person's statistics.
8. This website
letscalm.com is a static site hosted on GitHub Pages (GitHub, Inc.). GitHub may log requests, including IP addresses, for the operation and security of its service, under GitHub's privacy statement.
The site uses Google Analytics 4 (Google LLC) to count visits and taps on the download buttons, so we can tell whether people find the app. Google Analytics sets cookies in your browser and receives your truncated IP address, your approximate location derived from it, and your browser and device type; Google processes this under its own privacy policy. We have not enabled Google Signals, advertising features, or user-ID tracking, and we do not link analytics data to anything in the app. You can stop it with the Google Analytics opt-out browser add-on, by blocking cookies for this site, or with any content blocker.
9. Service providers
| Provider | Purpose | Data it handles |
|---|---|---|
| Apple (TestFlight, App Store) | Distributing the app | Whatever Apple collects for TestFlight under its own terms; we see aggregate install and crash counts only |
| Google (Google Play) | Distributing the app | Whatever Google collects for Play testing under its own terms |
| Vercel, Inc. | Hosting the alert and acceptance-record functions | Requests pass through Vercel; nothing is stored there |
| SendGrid (Twilio Inc.) | Sending verification codes, alert emails, and acceptance records | Recipient address and message content |
| Google LLC (Google Analytics for Firebase) | App usage statistics | Events, app-instance identifier, app version, device model, OS version, IP-derived approximate location, as described in section 7 |
| Sentry (Functional Software, Inc.) | Crash and problem reports | Technical report data as described in section 6 |
| GitHub, Inc. | Hosting this website | Standard web server request logs |
| Google LLC (Google Analytics) | Website visit and download-button statistics | Cookies, truncated IP address, browser and device type, pages viewed |
We do not sell personal information and we do not share it with advertisers or data brokers.
10. Your choices and rights
- Microphone: deny or revoke the permission in your phone's settings. The app cannot listen without it.
- Alerts: switch off or change the address in Settings.
- Local data: clear the mediation history in Settings, or uninstall the app to remove everything stored on the device.
- Deletion: to have your acceptance record, alert emails we hold, problem reports deleted, email admin@letscalm.com. For an acceptance record, include the acceptance ID shown in Settings so we can find it; for anything tied to an email address, write from that address. We will confirm within 30 days. We may keep an acceptance record where we need it to enforce the agreement or meet a legal obligation, and will tell you if so.
- Access: you can ask us for a copy of the information we hold about you at the same address.
11. Children
LetsCalm is not directed to children under 13 and we do not knowingly collect personal information from them. If you believe a child has provided us with personal information, contact us and we will delete it.
12. Security
Data in transit to our services is encrypted with HTTPS. Acceptance records carry a cryptographic signature so that alterations can be detected. Because the app keeps audio and settings on your device, the security of that data also depends on your phone's own protections such as a passcode.
13. Changes
If we change this policy in a way that matters, we will update the effective date above and, for changes that affect data we already hold, notify you at the email address on file where we have one. Earlier versions are available on request.
14. Contact
LetsCalm LLC
306 W Redwood St #4755
Baltimore, MD 21201, USA
admin@letscalm.com