Legal

crestlume Privacy Policy

Effective date: 4 November 2026

This policy explains what personal data crestlume handles, why, where it goes and what you can do about it. It covers the crestlume app on the web (app.crestlume.com), on desktop and on Android, and the website crestlume.com.

We wrote it in plain words. Where the app does something that weakens a promise you might expect (for example, who holds the key to your synced data in the standard sync mode, that a report about an AI answer is not end-to-end encrypted, or that your Google Calendar connection passes through our server when it is renewed), we say so openly.

Some features described here are not live yet: paid plans, AI credits, the AI agent running through our own server, attachments in the agent chat and syncing of agent chats. They are marked (planned). We will update this policy and the effective date when each one launches.

1. Who is responsible for your data

crestlume is run jointly by Kostiantyn Durlov and Yevhen Hoha, two individuals (not a company) who live in Romania ("we"). We are joint controllers of your personal data: we decide together why and how it is processed.

As joint controllers (Article 26 GDPR), we have agreed that both of us read support@crestlume.com and either of us answers and acts on the requests sent there. You can exercise your rights with either of us.

We have not appointed a data protection officer, because the law does not require one for a service of this size and kind.

2. The short version

3. Using crestlume without an account

You can use the app without signing in. Your app data then stays on your device. Even so, some things involve other parties:

Google Calendar needs an account, so without one the app does not connect to it (section 8).

Legal basis for the web hosting and update checks above: our legitimate interest in delivering the app and keeping it secure (Art. 6(1)(f)). For push, the agent and reports, see their sections.

4. What data we handle and why

4.1 Your account

DataWhyLegal basis (GDPR)
Email addressTo create and run your account, sign you in, and send you sign-in and security codes.Contract (Art. 6(1)(b))
PasswordTo sign you in. Our hosting provider stores only a secure hash, never the password itself. Your password is not used to encrypt your data.Contract
Sign-in sessions (tokens that keep you signed in)To keep you signed in on each device.Contract
One-time email codesTo reset your password, or to confirm it is you before you reset your cloud copy or delete your account.Contract
The domain of the email address you sign up with (the part after @)Before an account is created, the app checks that the domain can receive email and is not a throwaway address. The throwaway check runs on your device against a list built into the app. For the other check, your device asks Cloudflare's public DNS service (cloudflare-dns.com) for the domain's mail records, so Cloudflare sees the domain and your IP address. The full address is never sent.Legitimate interest in keeping accounts reachable and blocking abuse (Art. 6(1)(f))
Captcha check (Cloudflare Turnstile), when enabledTo block automated sign-ups and abuse. Cloudflare checks signals from your browser or device. We only receive a one-time pass token and do not keep it.Legitimate interest in protecting the service (Art. 6(1)(f))
Technical logs: IP address, browser or device type, time of requestsOur hosting provider (Supabase) keeps logs of sign-in and server requests. We use them to keep the service secure and fix problems.Legitimate interest
Google account details, if we enable "Continue with Google" (built but not available yet)Google would share your email, name, profile picture link and Google account ID with our sign-in provider.Contract

An account is optional. You need an email address and a password only if you want an account (for sync and, later, paid plans); without them you can still use the app on one device. We are not required by law to collect them.

We send only emails needed to run your account: sign-in and security codes (password reset codes and confirmation codes) and important notices about your account, such as changes to our terms or this policy. We do not send marketing email. If we ever want to, we will ask first.

4.2 Your synced app data

If you sign in, the app syncs your data between your devices through our server. This covers your profile name, settings, spheres, calendars, goals, plans, stages, tasks, habits and check-ins, quests, rewards, redemptions, schedule blocks, routines and your points history, including all titles, notes and descriptions, and your Google Calendar connection if you made one (section 8).

What our server can see without decrypting anything:

Sync has limits per account (number of items and total size). If you reach them, sync pauses until you remove data.

4.3 Push notifications

For sync (Android). When you are signed in on Android, have allowed notifications and have at least one reminder turned on, the app asks Firebase for a messaging token and registers it with our server. Only at that point does Firebase create an installation identifier and a messaging token for your device and register them with Google; before that, its automatic start is switched off. After one of your devices syncs, our server asks Google to send a silent message to your other Android devices so they sync too. The message contains no app data and no account details. We also store the time of your last such message, to limit how often it is sent.

When you sign out or turn reminders off, the app removes the token from our server (section 11). It does not delete Firebase's own identifiers from your device; they go when you uninstall the app or clear its data.

On Android and desktop, reminders are scheduled and shown on your device and never go through our server.

For reminders (web app). A browser stops a minimized or closed web app, so it cannot show a reminder on time by itself. When you allow notifications and have at least one reminder on, the app asks your browser for a push subscription. The browser creates it at its push service (Google for Chrome, Edge on Android and most Android browsers, Apple for Safari and Home Screen apps on iPhone and iPad, Mozilla for Firefox, Microsoft for Edge on Windows). The app then sends our server that subscription's address and the times of your reminders for the next 8 days, at most 200. At each time, our server sends an empty message to that address, and the app's background script shows the reminder from a copy kept in your browser.

Legal basis: contract.

4.4 Support and feedback

If you email us, we receive your email address, your message and anything you attach. Why: to answer you and fix problems. Legal basis: legitimate interest, or contract where your request is about your account.

Reporting an AI answer. You can report an agent answer with "Report" under it. You choose a reason (offensive, harmful or unsafe, wrong or misleading, or other) and can add details.

Why: to review harmful, offensive or wrong AI answers, act on them (for example by changing the models or instructions the agent uses) and meet the rules of the platforms that distribute or bill for crestlume. Legal basis: our legitimate interest in keeping the agent safe (Art. 6(1)(f)).

4.5 Payments (planned)

When paid plans launch, payments on every platform go through Paddle, which acts as the merchant of record: Paddle is the seller of the subscription, collects your payment details, handles taxes and invoices, and processes refunds. Paddle is an independent controller for the payment data it collects, under its own privacy policy. We never see your full card number.

From Paddle we will receive and store what we need to give you your plan: your crestlume account ID (passed to the checkout so the purchase reaches your account), the plan you bought, subscription status and end date, transaction and customer identifiers, and your email address and country. Legal basis: contract; and legal obligation (Art. 6(1)(c)) for the records tax and accounting law requires us to keep.

4.6 AI credits (planned)

When the agent runs through our server (section 7.2), we will record, per account and period: the AI model tier used, the number of tokens, the credits charged, and the time of each request. Why: to apply your credit allowance for the period, prevent abuse and handle questions about usage. Legal basis: contract; legitimate interest for abuse limits. We will not store the content of your messages for this.

4.7 Crash reports

The app contains a crash reporting tool (Sentry), but it is not switched on in current versions and sends nothing. If we turn it on, we will update this policy first and tell you what it collects and how to turn it off.

5. Encryption: the two sync modes, honestly

Your synced data is always encrypted on your device before it leaves, and it travels over encrypted connections (TLS). The difference between the two modes is who holds the key that unlocks it.

Standard mode (the default for every new account)

The key that unlocks your data is stored on our server, protected by a second key that is also stored on our server.

Extra privacy mode (optional)

You choose a passphrase. Your data key is then locked with that passphrase, and the server copy of the second key is removed.

Your devices

PlatformHow your local data is stored
AndroidEncrypted database; the key is kept in the Android Keystore. App preferences (such as language and notification settings) are kept in a separate file that this encryption does not cover. Android backups of the app's data are switched off.
DesktopEncrypted database; the key is kept in a file in the app's data folder, protected by your system's file permissions (not by the system keychain). Anyone who can use your computer account can open it. If you move the database to another folder (for example a cloud-synced one), the key file stays in the app's data folder.
WebStored in your browser's private storage for the site. It is not encrypted by the app. This includes your app data, the cached sync key, your OpenRouter key and your sign-in session. Anyone with access to your browser profile could read them. Use the web app only on devices you trust.

6. Deleted items and what stays in the cloud

When you delete an item, its content is erased from our servers the next time that device syncs. We keep a deletion record so your other devices learn about the deletion: a random identifier, the item type, its creation and deletion times and the identifiers of the items it was attached to (for example, the goal a deleted task belonged to). The record is encrypted like your other synced data. These records stay on our server until you:

Some limits:

7. The AI agent

The Agent tab lets you chat with an AI model that can read and change your app data (create tasks, update goals and so on). The tools run on your device, against your local data. To answer you, the model needs to see your messages and the data it works with, so that content leaves your device.

7.1 Today: your own OpenRouter key

During the beta, the agent works only with your own API key from OpenRouter (OpenRouter, Inc., USA), an AI service that forwards requests to AI model providers.

7.2 Planned: the agent through our server

When paid plans launch, the agent will by default run through our own server, so you will not need an OpenRouter key. Using your own key will stay available as an option.

7.3 Planned: attachments

You will be able to attach images, text files, documents and spreadsheets to an agent message.

7.4 Chat history and planned chat sync

Today, agent chats are stored only on your device (apart from answers you report, section 4.4). They are not synced and not included in exports. "Reset data" deletes them; deleting your account does not. You can delete a conversation in the Agent tab. They are also removed from a device when a different account signs in on it.

(planned) On the paid plan you will be able to sync agent chats between your devices. Synced chats (messages and attachment text extracts, never the original files) will be encrypted and stored exactly like your other synced data, under the same key mode (section 5).

7.5 What we do not do

AI answers can be wrong. See our Terms of Service.

8. Google Calendar (optional, desktop and Android, needs an account)

If you connect Google Calendar, you sign in with Google and grant crestlume access to your calendar list and events (Google's scopes: calendar.events, calendar.calendarlist.readonly, calendar.calendars, plus your email address). The connection belongs to your crestlume account: you connect once, on any of your devices, and every device you sign in on can use it.

crestlume's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. We do not use Google user data for advertising, do not sell it, and do not use it to develop, improve or train general AI or machine learning models.

9. Who receives data

We use these service providers. Where they process data for us, they act as our processors under data processing terms.

ProviderRoleWhat they receiveWhere
SupabaseDatabase, sign-in and server functions (processor)Account email, password hash, sessions, IP addresses and device information in logs, encrypted synced data and its metadata, key data (section 5), Google Calendar tokens in transit when a device connects or renews the connection (not stored, section 8), push tokens, web push addresses and reminder times (not linked to an account, section 4.3), AI answer reports (not end-to-end encrypted, section 4.4). Planned: agent requests in transit and usage records.Data stored in Frankfurt, Germany (EU). Supabase is a company outside the EU and may access data from other countries.
CloudflareWeb hosting, app downloads and desktop updates, domain and network security, captcha (Turnstile), forwarding of our support email (processor); public DNS service for the sign-up email check (section 4.1)IP address and browser information for each request to our sites and download server; captcha signals; emails you send to support; at sign-up, the domain of your email address and your IP address.Global network, including outside the EU.
Google (Gmail)Hosts our support mailboxEmails you send to support@crestlume.com.Global, including the USA.
ResendSending sign-in and security emails (processor)Your email address and the email content (a one-time code).EU (Ireland) sending region; Resend is a US company.
OpenRouterAI routing. Today: under your own account and its terms (we do not send it anything). Planned: our processor for the server-based agent.Section 7.USA.
AI model providers (via OpenRouter)Run the AI modelSection 7.Varies by provider, often the USA.
Google (Firebase Cloud Messaging)Push messages for sync on Android (processor)Installation identifier and messaging token of each Android installation that registers for push (section 4.3); silent sync messages with no content.Global, including the USA.
Browser push services (Google, Apple, Mozilla, Microsoft, depending on your browser)Deliver reminder wake-ups to the web app; independent controllers under your browser's termsThe push address your browser created, our server's IP address, and empty messages at your reminder times (section 4.3).Global, including the USA.
Google (Calendar)Only if you connect it; under your Google account and Google's termsSection 8. Your devices talk to Google Calendar directly; our server function sends Google the connection's token with crestlume's client credentials to renew it.Global, including the USA.
Paddle (planned)Merchant of record for all payments; independent controllerSection 4.5.UK, with payment partners worldwide.

We may also disclose data if the law requires it, to protect our rights or users' safety, or to a successor if crestlume is transferred to a company we set up or to a buyer (we would tell you first).

10. Transfers outside the EU

Some providers above are based in, or may access data from, countries outside the European Economic Area, mainly the USA. When that happens, we rely on:

You can ask us for more information about these safeguards at support@crestlume.com.

11. How long we keep data

DataHow long
App data on your devicesUntil you delete it, use "Reset data", or uninstall the app. "Reset data" also removes agent chats, your OpenRouter key and this device's copy of the Google Calendar connection (your account keeps it).
Account, synced data (the Google Calendar connection included), deletion records, key data, push tokensUntil you delete your account. The Google Calendar connection also goes when you disconnect it. Push tokens are normally also removed when you sign out or turn reminders off (a token can remain if the device is offline at that moment, until Google reports it invalid).
Web push addresses and reminder times (section 4.3)Each time until its message is sent, at most 8 days ahead. The address until no time is left for it (reminders off, notifications blocked, "Reset data", or reported invalid by the push service).
AI answer reports21 days from when you sent the report, then deleted automatically. We delete it sooner when you ask. When you delete your account, your reports stay until then but are no longer linked to your account.
Email delivery logs at ResendFor the period set by Resend.
Server logs (sign-in and request logs)For the period set by Supabase for our plan. Some sign-in records may remain for a while after you delete your account.
Backups kept by our hosting provider, if anyUntil they expire under the provider's schedule.
Support emailsUp to 2 years after your request is resolved, unless we need them longer to handle a legal claim.
Planned: usage records for AI creditsAs long as needed to apply your allowance and answer questions about usage. We will state the exact period when this launches.
Planned: payment recordsFor as long as tax and accounting law requires.

Data already sent to OpenRouter, a model provider, Google or Cloudflare is kept under their own policies.

12. Security

We encrypt synced data on your device, use encrypted connections, restrict database access so each account can only reach its own data, and require you to confirm it is you before you reset your cloud copy or delete your account. AI answer reports are the exception to on-device encryption (section 4.4). The Google Calendar token passes through our server only in transit, over an encrypted connection, and is neither stored nor logged there (section 8). No system is perfectly secure; the limits are explained in sections 5 and 6. If a breach affects your data and is likely to put you at risk, we will tell you and the supervisory authority as the law requires.

13. Your rights

Under the GDPR you have the right to:

To use these rights, email support@crestlume.com from the email address on your account. We answer within one month. We may ask you to confirm your identity. If you use Extra privacy, we cannot decrypt your synced data, so a copy from us would only contain it in encrypted form; use the export in the app instead.

Deleting your account

Deleting your account permanently erases your account (email and password), all your synced data including deletion records and your Google Calendar connection, your key data, your push tokens and push timing data from our database. The app also asks Google to revoke crestlume's access to your calendar. It does not erase:

14. Age limit

crestlume is for people aged 18 or older. We do not knowingly collect data from anyone younger. If you believe a minor has created an account, write to support@crestlume.com and we will delete it.

15. Cookies and local storage

The crestlume app does not set cookies. It stores data in your browser or device storage that it needs to work: your app database, your sign-in session (on the web), preferences such as language, layout and notification settings, and when you last opened the app on that device (it times the "come back" reminder). In the web app with reminders on, it also keeps a copy of your upcoming reminders (title, text and time) for its background script (section 4.3). This storage is strictly necessary for the features you use, so it does not need consent. It is not used for tracking or advertising. On Android, once push is registered (section 4.3), the Firebase component also stores its own identifiers on your device.

Cloudflare, which hosts our sites and runs the captcha, may set its own strictly necessary security cookies.

Our website crestlume.com is a static page. It sets no cookies, runs no analytics or tracking and has no forms. Like any website, its host sees your IP address and browser information for each request (section 9). App downloads are served the same way, from our download server on Cloudflare (section 9). If we add analytics, forms or a checkout to the website, we will update this section first.

16. Changes to this policy

We will update this policy when the app changes, in particular when the planned features above launch. We will change the effective date at the top. If a change matters for how your data is used, we will tell you in the app or by email before it takes effect.

17. Contact

Kostiantyn Durlov and Yevhen Hoha, crestlume Strada Negoiul, 500002 Brașov, Romania support@crestlume.com