Effective date: 1 November 2026
Sepamo is a personal planning app for Android made by Eetu Halonen (“we”, “us”), an individual developer based in Finland and the data controller for the processing described here under the EU General Data Protection Regulation (GDPR). This policy explains what data Sepamo reads, what stays on your device, what is stored in your account, what is sent to third parties and why, and what control and rights you have. It applies to the Sepamo Android app distributed on Google Play.
Sepamo has no analytics, no ads, and no tracking. You can use Sepamo without an account. Creating one — with an email address and password, or your Google account — lets you back up and sync your plans and keep using the AI once this device’s free allowance is spent. Either way the app talks to a backend that we operate — the open-source Supabase server software, which we self-host on a virtual server we rent from UpCloud in the European Union (Finland). That backend signs you in, routes Sepamo’s AI, map, weather, and place requests to their providers (so third-party API keys are never shipped in the app), and, if you have an account, backs up and synchronises your plans across your devices. Nothing reaches it until you have chosen to use online features, and you can keep Sepamo fully local instead (see Choosing what leaves your device).
| Data | Why Sepamo reads it | Where it lives |
|---|---|---|
| Notifications (notification access) | To trigger plan steps on notifications you choose | On-device only |
| App usage for triggers | To trigger steps like “after 1 h of Instagram” | Evaluated on-device |
| Precise location for place triggers | To fire “when I arrive home”-style steps, including in the background if you grant it | Evaluated on-device |
| Physical activity (still, walking, running, cycling, driving, in transit) | To trigger steps like “when I stop driving”, and to remember where the car was parked | Evaluated on-device and never stored as a history. On phones without Google Play services, Sepamo works it out itself from your phone’s step sensor and how fast your location changes. The parked-car spot is saved in its plan, so it is backed up with your plans when Cloud sync is on, and the AI planner is never shown it |
| Today’s step count | For “steps today” steps and cards | Read from the phone’s step counter on-device; only today’s count is kept, not a history, and it is not backed up, synced or shown to the AI planner |
| Call state (whether a call is in progress — never who you are talking to) | To trigger “while I’m on a call” / “right after a call” steps | Evaluated on-device |
| Call history (website version only — the Google Play version cannot read it) | For “haven’t talked to Grandma in a week” / “after a missed call” steps | Read on-device when such a step is checked; nothing is stored or sent |
| Connected Bluetooth devices and Wi-Fi network name | To trigger “when my headphones connect” / “when I’m on home Wi-Fi” steps | Evaluated on-device |
| Contact birthdays and anniversaries | To show cards for the days around them | Read on-device only |
| Photos you pick for a picture card or the barcode card | To show the picture on a card, or to read the code off a loyalty card or ticket | Read only when you pick one. A picture card’s photo is copied into Sepamo on the phone and is not backed up, synced or shown to the AI planner. The barcode card reads the code on the phone and keeps only the code. A photo you attach to a planner request is different: it is sent onward, as described under AI below |
Nothing is sent anywhere until you have answered the first screen Sepamo shows: use online features, or keep Sepamo fully local. Fully local means no data leaves your device for any reason — no account, sync, AI, maps, weather or update checks — while your plans, cards and everything evaluated on the device keep working.
You can change your mind at any time in Settings › Online services, which has the same big switch (Keep everything on this phone) and one switch per online service, each naming who receives the data:
| Online service | What it covers | Who receives the data |
|---|---|---|
| AI | Planner, AI cards, suggestions, voice, document reading | Our backend, then Mistral AI; web searches go to Linkup |
| Maps & directions | Map tiles, address and place search, travel times | Our backend, then Geoapify (search and travel times); map tiles come from our own servers |
| Nearby places | “Near a café”-style plan steps, and telling a train or boat ride from a drive | Our backend only, from Overture Maps data we host ourselves |
| Weather | Weather plan steps and cards, including UV, air quality, pollen and aurora | Our backend, then Open-Meteo (coordinates only); the aurora index comes from NOAA’s space weather service, which receives nothing about you |
| Exchange rates | Currency cards | Our backend, then Frankfurter for the European Central Bank’s reference rates; nothing about you is sent |
| Account | Sign-in, subscription checks, feedback, reports | Our backend; purchases are checked with Google Play |
| Cloud sync | Backup and sync of your plans. Needs Account; can be off while Account is on, so plans stay on the device | Our backend |
| Website previews | Website cards that show the live page | The website itself, wherever it is hosted; it sees your IP address as it would in a browser |
| Feeds | Feed cards with the newest posts from sites you pick | Each feed’s own site, wherever it is hosted; it sees your IP address as it would in a browser |
| Webhooks | Steps that call an address you entered (Home Assistant, IFTTT) | The address you entered; it receives the plan’s name, the step’s label and the time, plus your IP address |
| Update checks | Telling you a new version is out | Google Play for the Play build; sepamo.com for the build downloaded from our website. No account identifier is sent |
A switched-off service is blocked inside the app, not just hidden: its requests are refused before they leave the device. Plans that need a switched-off service pause and say which switch they need, and turning one on from there first shows who will receive the data. If you installed Sepamo before this choice existed, every service starts switched on, as before.
Two features pass your words to another app on your phone, which handles them under its own terms. Sepamo itself sends them nowhere, so fully local mode does not stop them; they happen only in a step you set up.
Without an account, everything you make in Sepamo stays on your device; nothing is backed up or synced. To route map, weather, place, and AI requests, the app still needs to identify itself to our backend, so the first time it does, the backend creates an anonymous guest identifier (a random ID with no email, name, or password attached). It is used, like an account identifier, as the key for rate limits and the usage metadata described below.
Each device gets a small free AI allowance (worth about €0.50) to try the AI with before an account and a Basic or Pro plan are needed. So that this allowance is given once per device — and not again after every reinstall — the app sends a one-way hash of the device’s Android ID with its AI requests. The Android ID is a number Android gives each app on each device; the app salts and hashes it before sending, so the value we receive cannot be turned back into the Android ID or matched with identifiers other apps see. We store that hash with how much of the allowance has been used, and nothing else about the device.
If you later create an account on the same device, what you made as a guest is backed up to it, and whatever is left of the device’s allowance stays usable.
To sign you in, back up your work, and keep it in sync across your devices, the following is stored on our backend — the self-hosted Supabase software running on our UpCloud server in the EU (Finland) — over encrypted connections (HTTPS):
This data stays in your account until you delete it or delete your account (see below). It is not sold, not used for advertising, and not shared except with the processors named below when a feature you use requires it.
Signing in with Google is optional — the email-and-password route needs no Google account at all. If you do choose it, your device asks Google (Google Ireland Limited for users in the EEA, Google LLC elsewhere) to confirm who you are, so Google learns that you signed in to Sepamo and when. Google hands us a signed token containing the details listed above, which we exchange for a Sepamo session; we never see your Google password, and we ask Google for nothing beyond your basic profile. Google’s own handling of that sign-in is covered by the Google Privacy Policy. If you would rather Google not know you use Sepamo, sign up with an email address and password instead.
Paid plans are sold through Google Play (Google Ireland Limited for users in the EEA, Google LLC elsewhere). Google is the seller of record and an independent controller for the purchase: it collects your payment, issues the receipt, applies its refund policy, and handles the purchase data under the Google Privacy Policy. What Google shares with us is limited to the purchase token and the state of the subscription (active, cancelled, expired, in grace period, and its expiry date), which our backend fetches from Google’s Play Developer API to confirm a purchase and to re-check it when the app opens. We use it for nothing else. The Free plan involves no purchase and sends nothing to Google beyond what the Play Store itself does to distribute the app.
Sepamo’s AI features are handled by two processors, both established in the EU, each over encrypted connections (HTTPS/WSS) and only when you use the feature:
The following is sent, to the provider noted, so each feature can work:
See Mistral AI’s privacy policy for their handling. We do not send health data, passwords, phone numbers, email addresses, or files from your device.
Place search and travel times additionally send the place text you asked about (and, for nearby search or a route, the coordinates involved) to Geoapify to look up locations and routes; see Geoapify’s privacy policy. Map tiles come from our own backend, from OpenStreetMap-based map data we host on UpCloud in Finland, so viewing a map reaches no third party. Weather lookups send approximate coordinates to Open-Meteo. Nearby-place lookups (a plan step “near a café”) and the train/boat detection behind the activity condition are answered by our own backend from a copy of the open Overture Maps dataset that we host ourselves; those coordinates never leave our infrastructure.
We process your data on the following legal bases:
You have the right to:
To exercise any of these rights, email help@sepamo.com; we will respond within one month. You also have the right to lodge a complaint with a data protection supervisory authority — in Finland, the Data Protection Ombudsman (tietosuoja.fi) — or with the authority of your own EU/EEA country.
Your account and synced data live on our backend, which we self-host on an UpCloud virtual server in Finland (European Union). UpCloud Ltd (Helsinki, Finland) operates that infrastructure as our hosting provider; the Supabase software running on it is operated by us, not by Supabase, Inc., which receives none of your data. Mistral AI SAS and Linkup are established in France, and Linkup processes data in EU regions (any sub-processor of theirs outside the EEA is bound by the EU Standard Contractual Clauses). Your account data, backups, and all AI processing therefore stay within the EU/EEA.
Maps stay in the EU too: place search and travel times go to Geoapify GmbH, established in Germany, and map tiles come from map data we host on UpCloud in Finland. Weather (Open-Meteo) lookups receive only approximate coordinates, with no account identifier attached. Nearby-place and transport-context lookups are served from map data we host on UpCloud in Finland and reach no third party.
A website preview you add is loaded directly from that website, which may be hosted anywhere in the world; that is a normal web request between your device and the site, as in a browser, and involves us not at all. In fully local mode, or with Website previews switched off, no such request is made.
If you sign in with Google, that sign-in is handled by Google Ireland Limited (Dublin, Ireland) for users in the EEA, under the European Commission’s Standard Contractual Clauses where Google moves data to the United States. Choosing the email-and-password route avoids that transfer entirely.
Your Sepamo data lives in two places: on your device, and in your account on our backend (for the categories listed above). Both are retained until you delete them:
Data sent to Mistral AI, Linkup, Geoapify, or Open-Meteo is retained by those providers under their own policies; deleting your Sepamo account does not delete data already processed by them.
Sepamo is for people aged 16 and over. Creating an account requires confirming that you are at least 16 — and so does using the AI without an account, at the point you agree to what it sends — and we do not knowingly collect data from anyone younger.
Why 16 and not 13: Sepamo relies on your consent to send device data to the AI planner, and under Article 8 GDPR a child’s consent to an online service is only valid from the age of digital consent, which each EU country sets somewhere between 13 and 16. Rather than apply a different rule in each country, Sepamo uses the highest of them everywhere.
If you believe a child under 16 has created an account, email help@sepamo.com and we will delete it.
If this policy changes, the updated version will be posted at this address and the effective date updated. Material changes will be highlighted in the app.
Sepamo uses an AI model to write plans, flashcard decks you ask for, to word its occasional suggestions, and to run background checks. Two things follow that you should know:
The suggestions feature looks for patterns in how you use your phone in order to offer a plan. That is profiling in the GDPR’s sense, so it is optional: turn Suggestions off in Settings and nothing derived from your usage is computed or sent. You may also object to it, or to any processing we base on legitimate interests, by emailing us.
Your use of Sepamo is also governed by our Terms of Service, which cover what Sepamo is, what you may not use it for, how to report AI-generated content, and your rights as a consumer.
Questions or requests about your data, including account deletion: help@sepamo.com
That address is also our point of contact under Articles 11 and 12 of the EU Digital Services Act. Our full trader details, including postal address, are in the imprint.