Last updated: 2026-04-22
DailyAgenda is a personal planning and private messaging app for small groups (family, housemates, invited teams). It is developed and operated by Alexandru Vlad Tanasescu. If you have any questions about this policy or the data we hold about you, contact the developer at the email address associated with this app on the App Store.
| Data | When we collect it | Why | Where it is stored |
|---|---|---|---|
| Display name | Sign-up | Identifies you to other group members | Supabase Postgres (EU / Frankfurt) |
| 4-digit PIN | Sign-up | Your private login secret. We never store the plaintext — only a bcrypt hash. | Supabase Postgres |
| Phone number (optional) | If you set it | Lets the admin reach you out of band | Supabase Postgres |
| Avatar emoji | Auto-assigned, editable | Cosmetic | Supabase Postgres |
| Device identifier | On first launch | Stable per-install UUID used for rate-limiting and for the device_id field — NOT the IDFA or any Apple advertising identifier |
UserDefaults (on device) + Supabase |
| Session token | On login | 64-char random string proving your identity between requests | iOS Keychain (device) + Supabase |
| Your agenda tasks | As you create them | Day-based planning | Supabase Postgres (+ a UserDefaults cache on device when offline) |
| Chat messages | As you send them | The core messaging feature | Supabase Postgres. Images are uploaded to a Supabase Storage bucket (chat-images) and shown inline. |
| Device Contacts (optional) | Only if you grant iOS Contacts permission | So the group admin can coordinate plans and match chat participants to real people you already know. Only the contact’s display name and phone number are uploaded — no emails, no addresses, no photos, no other fields. | Supabase Postgres (user_device_contacts) |
| Report records | When you tap “Report message” | So the admin can review flagged content within 24 hours | Supabase Postgres (message_reports) |
| Block records | When you block another user | To hide that user’s content from you | Supabase Postgres (blocked_users) |
| EULA acceptance timestamp | When you tap “I Agree” | Legal record | Supabase Postgres |
| Audit log | Every admin action (list users, view agenda, delete message, ban) | Accountability for the oversight role | Supabase Postgres (admin_audit_log) |
We do not collect:
is_admin=true user per deployment, enforced by a database-level unique index. The admin can read all messages (for oversight — this is the app’s core premise), your agenda (only if you left agenda_consent enabled), and your uploaded contacts. Every admin access to another user’s data is logged in an immutable audit table.agenda_consent off.chat_users row is removed. This is irreversible.auth_attempts) are auto-pruned after 24 hours.You can:
Agenda sharing OFF).kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly).DailyAgenda is not intended for children under 13. We do not knowingly collect data from children.
We will update this policy and the in-app EULA when we change how the app handles data. Material changes will trigger a re-prompt for EULA acceptance.