Presently
Privacy policy
Effective: April 10, 2026
Last updated: July 14, 2026
Stays on your phone — nothing is uploaded. That's the shape of it: the birthdays, photos, gift history, and memories you keep in Presently live on your device. There are three narrow exceptions, described in full below: the optional
Wishlist link preview, anonymous
crash reports, and anonymous
usage analytics.
Introduction
In short: stays on your phone — nothing is uploaded, with three narrow, fully-disclosed exceptions.
Presently ("the app") is a birthday tracker and gift planner built by merkost ("we", "us", "our"). This policy explains, plainly, what data the app collects, how it's stored, and what say you have over it.
Data we collect
In short: the people and moments you choose to keep, nothing more.
The app lets you save the following about yourself and the people you keep:
- Names of the people whose birthdays you keep
- Birthdays (dates of birth)
- Phone numbers (optional, entered manually)
- Photos (optional, selected from your device gallery)
- Gift preferences and interests (text descriptions)
- Wishlist items (names, URLs, price ranges, categories, priority levels)
- Gift history (records of gifts given or received)
- Memories (text notes and photos associated with people)
- App preferences (theme, notification settings, timezone)
How data is stored
In short: a database and some settings, all on your device.
All of it is stored exclusively on your device, using:
- Room database for structured data (people, gifts, memories)
- DataStore preferences for app settings and preferences
- Local file URIs for photo references
No data is transmitted to, stored on, or processed by any external server, cloud service, or third-party infrastructure, except as described in the Wishlist link preview section below. We don't sync, upload, or back up your personal data to any cloud.
In short: reads on your phone, only when you ask, only the birthdays you pick.
The app offers an optional contact import feature that:
- Reads names and birthday dates only from your phone's contact list, on-device, only when you start an import
- Saves only the names and birthdays you explicitly select into the app's local database
- Does not sync, upload, or transmit any contact data to any server
- Does not read email addresses, postal addresses, or any contact field beyond names and birthdays
You can revoke contacts access at any time through your device's system settings.
Photos
In short: a photo you pick is copied into the app, never sent anywhere.
When you attach a photo to a person or a memory:
- The photo is copied into the app's private, on-device storage
- It is not uploaded, copied to external storage, or transmitted anywhere
- If you later delete the original photo elsewhere on your device, the copy already saved in the app is unaffected
Wishlist link preview
In short: paste a product link, and only that link goes to our server to fetch a preview.
When you paste a link (URL) into the wishlist add screen, the app sends only that URL — nothing else — to our backend, so it can fetch product details (title, image, price) and fill them in for you. This is an optional convenience; you can always type wishlist details in by hand and skip this entirely.
What happens:
- The URL is sent over HTTPS to our Supabase Edge Function
- Our server fetches the page server-side and extracts product details from its structured tags (Open Graph / JSON-LD / schema.org)
- If those tags don't yield the full details, our server forwards the page text to Groq (our AI sub-processor) to fill in the gaps
- The result comes back to your device and fills in the form
- The pasted URL and its extracted details are cached on our server — reused for up to 7 days, and permanently deleted within 14 days — so a repeated paste of the same product is faster and lighter on the upstream site. That cache isn't tied to you — it's shared, keyed only by the link itself
What we do not send during this flow:
- Your name, email, or any account information (the app has no accounts)
- Your other wishlist items, contacts, photos, gift history, or memories
- Anything about your device beyond the network-level IP address every internet request carries
What we do for security and to prevent abuse:
- Your IP address is hashed (one-way SHA-256 with a server-side salt) and counted in hourly buckets, to enforce a per-IP rate limit. We don't keep your raw IP address.
- Rate-limit counters older than 2 days are deleted nightly.
- Cached product details older than 14 days are deleted nightly.
Sub-processors
The Wishlist link preview feature relies on:
We send only the pasted URL and the page's own publicly-fetched contents to these services — never your personal data.
Crash reporting
In short: if the app crashes, we get a stack trace, not your data — and you can turn this off.
To help us find and fix bugs, the app sends anonymous crash reports to Firebase Crashlytics (a Google service) and Sentry. Together with the anonymous usage analytics described below, this is the only telemetry the app sends; we've deliberately kept away from ad SDKs.
What is sent in a crash report:
- The exception type and stack trace (where in the code the crash happened)
- App version, build type, OS version, and device model
- Approximate crash time
- A short trail of recent navigation events (which screens you visited, by name) to help us reproduce the crash
- Any non-fatal errors the app explicitly logs (for example, an unexpected network response shape)
What is never sent in a crash report:
- Your name, email, phone number, or any account information
- The names, birthdays, photos, notes, or other personal information of the people you keep
- Wishlist items, gift history, or memories
- The contents of links you paste into the wishlist
- Anything you type into the app
We don't link crash reports to a stable identity. Firebase generates an installation-scoped pseudonymous ID; uninstalling the app invalidates it.
Opt out: You can turn off crash reporting any time in Settings → Privacy → Crash reporting. This one toggle covers both services — when it's off, no crash reports are collected or sent to either.
Sub-processor: Google Firebase Crashlytics — see firebase.google.com/support/privacy.
Sub-processor: Sentry — see sentry.io/privacy.
Usage analytics
In short: anonymous counts of what's used, never what you wrote.
To understand which parts of the app are actually useful — and which confuse or lose people — the app sends anonymous usage events to Amplitude, a product analytics service. These are simple counts of actions, never recordings of your content.
What is sent in a usage event:
- The name of the action (for example, "onboarding completed", "person added", or "gift idea added") and simple counts attached to it (for example, how many people you keep — the number, never the people)
- Which screen was opened, by name
- App version, platform (Android or iOS), OS version, and device model
- A pseudonymous, per-installation identifier and session timing — uninstalling the app invalidates the identifier
- Amplitude's own session and app-lifecycle signals (app opened, session length) alongside the events above — still anonymous, still no personal content
What is never sent in a usage event:
- Your name, email, phone number, or any account information
- The names, birthdays, photos, notes, or other personal information of the people you keep
- Wishlist items, gift history, memories, or the contents of links you paste
- Anything you type into the app
Opt out: You can turn off usage analytics any time in Settings → Privacy → Usage analytics. When it's off, nothing is collected or sent — nothing leaves your device.
Sub-processor: Amplitude, Inc. — see amplitude.com/privacy.
Notifications
In short: reminders are scheduled on your phone — there's no server sending them.
The app uses local notifications only to remind you of upcoming birthdays. These notifications are:
- Scheduled and triggered entirely on your device
- Not routed through any push notification service (no FCM, APNs, or similar)
- Configurable, and can be turned off in the app's settings
Third-party services
In short: four services, all named above — nothing else.
Aside from the Wishlist link preview feature (Supabase + Groq), Firebase Crashlytics and Sentry for crash reports, and Amplitude for anonymous usage analytics, Presently does not use any:
- Behavioral profiling or session recording
- Advertising networks or ad SDKs
- Cross-app identification or fingerprinting tools
- Social media integrations
- Third-party authentication providers
User accounts
In short: no accounts, no sign-in, nothing to breach.
The app does not require or support:
- User accounts or registration
- Email or password authentication
- Social login (Google, Apple, Facebook, or similar)
Data export and backup
In short: your backup file is yours — we never see it.
You can export your data to a JSON file at any time. This export:
- Is saved locally on your device, wherever you choose
- Is entirely under your control
- Can be used to restore your data into the app through the import/restore feature
We have no access to your exported files.
Data deletion
In short: delete a record any time; deleting the app deletes everything.
- You can delete individual records (people, gifts, memories) within the app at any time
- Uninstalling the app removes all app data from your device permanently
- Since no personal data exists on external servers, uninstalling is a complete deletion
Children's privacy
In short: not made for children under 13, and we don't knowingly collect their data.
The app does not knowingly collect data from children under 13. It's intended for people aged 13 and older. Since data is stored locally and never transmitted (aside from the exceptions above), no children's data is collected by us.
Data security
In short: your device's own security protects your data, since it never leaves.
Your data is protected by your device's built-in security measures — screen lock, encryption, and the like. Since it doesn't leave your device, it isn't exposed to network-based threats through the app. Keep your device's operating system and security features up to date.
Changes to this policy
In short: if this changes, the date at the top changes with it.
We may update this policy from time to time. Changes show up as a new "Last updated" date at the top of this document. Continuing to use the app after a change means you accept the update. Anything significant will also be communicated through the app or its store listing.
Your rights
In short: see it, edit it, delete it, turn things off, take it with you.
Since your data lives locally, you're in control of it at all times. You can:
- View all data stored in the app
- Edit or delete any record
- Export all your data to JSON
- Turn off crash reporting at any time
- Turn off usage analytics at any time
- Remove all data by uninstalling the app
Governing law
This privacy policy is governed by the laws applicable in the jurisdiction where the developer resides, without regard to conflict of law principles.