Last updated 2026-05-18 · Version 2026-05-18
TL;DR
BedLock (the "app", "we", "us") helps you build a morning bed-making habit by locking selected apps until you photograph your made bed.
Data controller: David Ziman operating BedLock as a sole individual, Hungary
Contact: bedlock.app@gmail.com
| Category | Examples | Where | Retention |
|---|---|---|---|
| Device identifier | Random UUID generated on first launch | On device (encrypted) + sent with API calls | Until you uninstall or reset |
| Onboarding answers | Age band, morning habit, primary goal | On device only | Until you uninstall or reset |
| Verification history | Date + verified/skipped flag | On device only | Until you uninstall or reset |
| Bed photo | Camera capture | RAM → our EU server → Google Vertex AI → discarded | Less than 60 seconds. Never persisted |
| Subscription status | Apple receipt + entitlement | Apple, RevenueCat, on device | Per RevenueCat policy |
| Aggregate event counters | Anonymous event names (e.g. onboarding_complete, verification_success) with non-personal properties (e.g. age band) | PostHog EU | Counts only, no identifiers, no IP. No retention of personal data because no personal data is collected |
| Notifications | Bedtime/lock reminders | On device only | Until cancelled |
| Locked apps selection | Family Controls tokens | On device only (Apple) | Until you change |
We do not collect: name, email, phone, address, contacts, location, photos library, microphone, biometrics.
| Processing | Basis |
|---|---|
| Bed verification | Performance of contract (Art 6(1)(b)) |
| Subscription management | Performance of contract (Art 6(1)(b)) |
| Aggregate event counters | Not applicable — these are anonymous counts, not personal data, and fall outside GDPR Article 4(1) |
| Notifications | Performance of contract (Art 6(1)(b)) |
| Abuse prevention (rate limits) | Legitimate interest (Art 6(1)(f)) — we process anonymous device ID and IP only to enforce per-day verification limits, retain these for 24 hours, and never link them to identity. This narrow scope balances our interest in preventing abuse against your privacy. |
All EU/EEA region where available. DPAs signed with each.
| Processor | Purpose | Location | DPA |
|---|---|---|---|
| Google Cloud (Vertex AI, Cloud Run, Firestore) | Bed verification, backend, rate limiting | Frankfurt (europe-west3) | Link |
| RevenueCat | Subscription state | US (SCCs) | Link |
| PostHog | Aggregate event counters (no IDs, no IP) | EU (eu.posthog.com) | https://posthog.com/dpa — DPA on file as precaution |
| Apple | Family Controls, Notifications, App Store | EU/US | Apple Developer Agreement |
BedLock is intended for users aged 14 or older (the Hungarian digital-consent threshold). Users under 14 are blocked from self-onboarding. The app offers a "set up for my child" parental flow where:
Some EU member states set the threshold at 16. If you are between 14 and 15 and reside in such a state, ask your parent or guardian to set up BedLock for you.
We never log, store, train on, or share your bed photos.
App data on your device is held in MMKV stores. These files inherit iOS Data Protection: while your device is locked, the underlying file system is encrypted at rest by iOS using your device passcode and biometrics. We do not add a second app-layer encryption because all data we store is non-sensitive (preferences, anonymous device ID, streak counts) and iOS device-level protection is the industry-standard baseline for this category of data.
To improve BedLock we count anonymous events on PostHog (EU). Each event is sent with a shared identifier so it cannot be tied to you, with IP capture disabled, and without building any user profile. We only ever see aggregate counts — for example, "X users completed onboarding today" — never your individual journey. This is not personal data and therefore does not require your consent under GDPR. You can still wipe all data stored on this device anytime via Settings → Privacy & data → Reset all app data.
Exercise all of these directly inside the app: Settings → Privacy & data.
You can also email bedlock.app@gmail.com. We respond within 30 days.
Where data leaves the EU (RevenueCat in the US, Apple infrastructure), we rely on Standard Contractual Clauses (SCCs) per the European Commission's 2021 decision, plus the EU–US Data Privacy Framework where applicable.
The app does not use cookies. We do not track individuals — only aggregate anonymous event counts on our analytics processor. Web pages at bedlock.app use only essential cookies; no third-party trackers.
If we materially change this policy, we bump the in-app consentVersion. On next launch you will be asked to consent again before any data processing resumes.
You can complain to your national data protection authority in your country of residence. Find yours at https://edpb.europa.eu/about-edpb/about-edpb/members_en. Our lead supervisory authority, as the controller resides in Hungary, is the Hungarian National Authority for Data Protection and Freedom of Information (NAIH) — https://naih.hu.