Privacy Policy
Calmina turns two phones into a baby monitor. The sound and video from the nursery travel directly between your two phones, encrypted, and are never recorded — not on your phones, and not by us. This page describes everything our servers handle. If you find something it doesn’t cover, tell us at hello@calmina.app and we’ll correct it.
The short version. No account. No ads. No crash-reporting SDK. No cookies anywhere, and nothing that follows you around the internet. We never sell or rent data, and we share nothing with any third party except the push-notification services that wake your phone. Nursery audio and video are never stored anywhere. What our servers hold is the bookkeeping needed to connect your two phones and to wake you when your baby cries.
1. Who we are
Calmina is provided by Parksoft EOOD, Aleya Vazrazhdane 110, 7000 Ruse, Bulgaria, the data controller for the processing described here. Contact: hello@calmina.app.
2. We do not have accounts
Calmina has no sign-up, no login, no email address, no password and no user profile. Two phones are paired with a temporary 6-digit code (typed or scanned as a QR code). We therefore hold no name, email address, phone number, postal address or contacts for you at any point. Calmina is a tool for parents and caregivers; you must be old enough to enter into a contract where you live to agree to its terms.
3. Nursery audio and video
Live audio and video are sent over a direct, encrypted peer-to-peer connection (WebRTC, DTLS-SRTP) between the nursery phone and the parent phone. Specifically:
- Calmina never records audio or video — nothing is written to storage on either phone, and there is no playback-of-past-audio.
- Audio and video never pass through our servers in a readable form. The stream is encrypted directly between your two phones with keys the phones negotiate themselves, and we hold no copy of it, encrypted or otherwise.
- If the two phones cannot reach each other directly (some mobile and office networks), the encrypted media is bounced through a relay server (TURN) that we operate. The relay forwards encrypted packets and cannot read their contents. Nothing is retained there.
- Cry, sound and movement detection all run on the nursery phone itself. Only the fact of an event leaves the phone — never any audio.
4. What our servers handle
To introduce your two phones to each other and to deliver alerts, our servers process the following.
| Data | Why | Kept for |
|---|---|---|
| Pairing code, room identifier, session resume token, and which phone is the nursery vs. the parent | To connect your two phones and let them reconnect after a dropout without re-pairing | The life of the pairing; up to 30 days after the nursery phone was last online, then deleted |
| Connection setup messages (network addresses and media-capability descriptions) | Required to negotiate the direct phone-to-phone connection | Not stored — relayed and discarded |
| Relay addresses (the network address and port of each phone) while media is being relayed | To carry the encrypted stream when a direct connection is impossible | Not stored beyond the relay session; connections appear in the standard server logs below |
| Nursery phone status: charging or on battery, battery percentage, whether video is available | So the parent phone can show “Nursery phone · 47%” and warn you before the nursery phone dies | Not stored — relayed and discarded |
| Alert events: the kind of event (crying, sound, movement, low battery, monitoring stopped) plus a timestamp and an intensity number | To deliver the alert to the parent phone, including as a push notification when the app is closed | Not stored as data. Our servers do record that an alert of a given kind was delivered, with a time, in the standard server logs described below — never its contents. Your alert history is kept only on your own parent phone. |
| A push notification token for the parent phone (issued by Google Firebase Cloud Messaging on Android, or by the Apple Push Notification service on iPhone) | The only way to wake a locked parent phone for a cry alert | Deleted with the pairing. It is never shared with the other phone or with anyone else. |
| A one-way SHA-256 hash of your device’s Android ID — shown in the app as your device code | To count how many free nights you have used, so that reinstalling the app does not reset the free trial | Until you ask us to delete it (section 11), and in any case deleted after 12 months without a connection from that device. It is not shared with anyone and is not used to build a profile or for advertising. |
| Standard server logs (IP address, timestamp) generated by receiving a connection | Security, abuse prevention, and diagnosing outages | Up to 30 days, then rotated automatically |
5. Crash reports
As of this version, neither app contains a third-party crash-reporting SDK, and Calmina sends us no crash data of its own on either platform. If that ever changes we will say so here and in the app before it does — see section 15.
Android. Crash and stability information reaches us only through Google Play’s own Android vitals, which Google Play collects as the app store — not through anything in the app — and which never identifies you to us.
iPhone. Crash reports reach us only through Apple’s own crash reporting, which you control yourself in iOS Settings → Privacy & Security → Analytics & Improvements.
If something goes wrong and you want us to see it, section 6 is the route — and it happens only when you choose it.
6. Diagnostics you choose to send
The app has a “Report a problem” option (in Settings, and on screens where something has gone wrong). Nothing is sent unless you tap “Send” there. When you do, the app uploads a technical log of the recent monitoring session (connection states, timings, error codes) to us, with pairing codes, tokens, credentials and your device code removed. It contains no audio, no video, and no images. The upload is tagged with a random report ID, which the app then puts into an email to our support address for you to send; the ID only links your message to that upload. We use it only to investigate a problem you are reporting. We delete diagnostics uploads automatically 14 days after they arrive, whether or not we have finished looking at them.
7. Payments
Plans are sold and processed by Google Play on Android and the App Store on iPhone. Your payment details are entered into the store’s own payment sheet and are never seen by us. We receive nothing about your purchases — not even that one happened. Your plan is checked on your phone, directly with the store; our servers are never told the outcome. The store’s handling of your payment data is governed by the Google Privacy Policy or Apple’s privacy policy.
8. Device permissions
Each permission is used only for the purpose given, and you can revoke any of them in system settings.
On Android
- Microphone — on the nursery phone: to hear the room, detect crying, and stream live audio to the parent phone.
- Camera — on the nursery phone: to stream live video while you are watching, and to detect movement if you turn that on. On the parent phone: only to scan the pairing QR code.
- Notifications — to deliver cry and status alerts.
- Full-screen alerts — so a cry alarm can wake a locked phone, like an alarm clock or an incoming call.
- Companion device pairing — optional. Linking your two phones to each other at the system level asks Android to treat Calmina as a companion app, which helps the nursery phone keep running overnight. It is used for nothing else.
- Do Not Disturb access — optional, and the reason Calmina exists: it lets a critical cry alert sound through silent mode. You can switch this off in Settings.
- Nearby devices (Bluetooth) — optional, used only to hand a fresh pairing code between your two already-paired phones over a short range. Calmina does not use Bluetooth to derive your location, and requests it with Android’s “never for location” flag.
- Ignore battery optimisations — optional, so the nursery phone keeps monitoring with its screen off.
On iPhone
Microphone and camera (nursery phone, as above; the parent phone’s camera only scans the pairing QR code), notifications including critical alerts — Apple’s mechanism for sounding through silent mode and Focus, which you approve separately and can revoke in iOS Settings — and Bluetooth for the same short-range pairing-code handoff.
Calmina never requests a location permission, contacts, files, photos, SMS or call logs, and never uses the advertising identifier on either platform.
9. Children
Calmina is a tool for parents and caregivers and is not directed at children. We do not knowingly collect personal data from children. Although the app is used to watch over a child, no information about that child — no audio, no video, no name, no health data — is transmitted to or stored by us. A baby’s name, if you enter one, stays on your own phone.
10. Legal basis (EEA/UK)
- Performance of a contract — pairing data, connection setup, relay, alert delivery and the push token: without these, the app cannot do the one thing you installed it for.
- Legitimate interests (Article 6(1)(f) GDPR) — security logs and abuse prevention; the hashed device identifier, whose specific purpose is to stop the three free nights being reset by uninstalling and reinstalling the app; and the cookieless, aggregate-only website measurement described in section 13. We have carried out and recorded a balancing test for each of these, and you can ask us for it at hello@calmina.app. You can also object to processing on this basis (section 11).
- Consent — sending a problem report with its diagnostics log, which happens only when you tap “Send”. Withdrawing consent never affects the lawfulness of what was sent before; in practice, withdrawing simply means not tapping it again, and a report already sent can be deleted on request.
Providing data to us is never a statutory or contractual obligation. The only consequence of withholding it — for example, by declining a permission — is that the connected feature cannot work.
We make no automated decisions about you that produce legal or similarly significant effects, and we do not profile you.
11. Your rights
You can ask us to access, correct, delete, restrict or port your data, and object to processing based on legitimate interests. Because we hold no account, please tell us which data you mean when you write to us. We reply within one month. If a request is unusually complex we may need up to two months more, and we will tell you within the first month if that happens.
- Delete your pairing, yourself: tap Unpair in the app. Your phone tells our server, which deletes the pairing, the resume token and the push notification token at once. If your phone cannot reach our server at that moment, they are deleted when the pairing expires — within 30 days of the nursery phone last being online. If you want them removed sooner, write to hello@calmina.app.
- Uninstalling removes Calmina’s data from the phone. Your pairing and push token are excluded from Android backups and device-to-device transfer, so they never leave the phone. Your settings, alert history and the baby’s name are included in your phone’s normal Google backup, which means they can come back if you reinstall and restore — clear the alert history first if you would rather they didn’t.
- The free-nights record outlives uninstalling, by design, but not indefinitely — section 4 says for how long. To have it deleted sooner, open Settings → Privacy & security → Your data and tap Email us to delete it. The app writes the message and fills in your device code, which is how we find the record — we cannot identify it any other way. If you would rather write yourself, the same screen lets you copy the code; send it to hello@calmina.app. Any plan you have bought is held by the store and is unaffected.
- If we cannot identify any stored data as yours, we will tell you so and explain why — with no accounts, that is the usual, and good, answer.
- You may lodge a complaint with your data protection authority. Ours is the Bulgarian Commission for Personal Data Protection (cpdp.bg).
12. Where data is processed
Our signalling and relay servers are located in Germany (Hetzner Online GmbH, Nuremberg) — inside the EU. Outside our own servers, three parties process data for us: Google (Firebase Cloud Messaging) and Apple (Push Notification service) deliver the alerts that wake your phone, and Cloudflare hosts this website and provides its cookieless page-view measurement (section 13). Push delivery may involve transfers outside the EEA under the European Commission’s Standard Contractual Clauses. A copy of the relevant safeguards is available on request from hello@calmina.app.
13. The website
www.calmina.app is a static site. It sets no cookies, shows no advertising, and contains no advertising trackers and no social widgets. Its typefaces are served from our own domain, not from a font service. The only third-party code on the site is the small Cloudflare Web Analytics script described next — nothing else is embedded from anyone.
We do measure how the site is used, with Cloudflare Web Analytics. It counts page views and which pages people reach — for example, how many people tapped through to a store listing. It is a deliberately privacy-preserving tool: it sets no cookies, stores nothing on your device, does not fingerprint your browser, and cannot follow you to any other site. It gives us aggregate counts, never identities. Cloudflare processes this for us as our hosting provider.
If you arrive from an advertisement, the campaign tag in the link (a utm_ parameter) is passed straight on to Google Play or the App Store so that they can tell us which campaign led to an install. It is read from the address and handed onward in the same moment — nothing is written to your device and nothing about you is recorded on our side. That is why this site has never needed a cookie banner.
The web server keeps the same standard access logs described in section 4, for up to 30 days.
14. Security
Signalling runs over TLS (wss://); media is encrypted with DTLS-SRTP; pairing codes are short-lived; a pairing code sent over Bluetooth is encrypted with a key that only your two already-paired phones hold. No system is perfect, but we do not hold nursery audio or video, so a breach of our servers cannot expose them. If a breach of our servers ever does put your data at risk, we will notify the supervisory authority as the law requires and tell affected users directly in the app.
15. Changes to this policy
If we change this policy we will update the date and version at the top, and announce material changes in the app before they take effect.
16. Contact
Parksoft EOOD
Aleya Vazrazhdane 110
7000 Ruse, Bulgaria
EIK 206376011 · VAT BG206376011
hello@calmina.app
Calmina is not a substitute for direct adult supervision or a medical monitoring device.