Privacy
This describes what this deployment actually does right now, not what it may do later. It is updated before any new processing is switched on.
Who is responsible for your data
Inburgeringcoach is responsible for the personal data described here.
Processing
Text and audio you submit may be sent to AI providers outside the EU for assessment and explanation, speech transcription, reading handwriting from photographs, and generating spoken audio. Those providers process it on our behalf.
Each of these also requires a configured positive budget; without one the operation does not run at all.
In Talk to Bram, each voice note you send is turned into text by an AI provider and then discarded; it is not stored. The text of the conversation, Bram's replies and which lessons you practised are kept with your account until you delete the account. You can read past conversations and keep corrections as personal cards. Bram may use words from your cards, released corrections and recent completed lessons in a conversation. The selected words are saved with that conversation and included in your data export; they do not create a personal profile or memory of your life. Analytics receives counts only, never the selected words or your answers.
Recordings and photographs you upload are stored in private EU object storage.
Services that help us
These companies run parts of the service for us and process data only on our behalf:
- Vercel: hosts the site and the app; computing runs in Dublin, and pages are delivered from a worldwide network.
- Supabase: the database and signing in, in the EU.
- Google: signing in with your Google account, only when you choose it.
- Amazon Web Services: private storage for recordings, photographs and lesson audio, in Ireland.
- AI providers: assessment and explanation, speech transcription, reading handwriting from photographs, and generating spoken audio, as described under Processing.
- Stripe: subscriptions and payments, as merchant of record.
- Crisp: the chat button and contact form on the public pages.
- PostHog: our analytics service, hosted in the EU (Frankfurt); see Analytics.
Analytics
We use PostHog, hosted in the EU, to understand how the app is used: which pages are opened and how far they are read, which buttons are pressed, how lessons, practice and exams go (counts, scores and timings), errors and loading times. What you write, say or record, and any feedback you write to us, is never sent to it; at most its length is.
If you accept measurement, PostHog stores a small identifier in your browser so visits days apart are recognised as one person, knows a signed-in learner by an account number only (never by name or email), and records the screen with everything you type and every piece of text hidden.
If you decline, or have not answered yet, nothing is stored in your browser except the record of your choice. Visits are still counted, with a code PostHog calculates on its servers that cannot recognise you on another day. Nothing is recorded, and you are not linked to an account. Events our server sends for you then use one shared anonymous code.
Cookies and storage in your browser
Everything this site keeps in your browser. Only the analytics entries need your permission; the rest is needed for the site to work.
| Name | Set by | What for | How long | Needs your yes |
|---|---|---|---|---|
ic_consent | Us | Remembers your cookie choice | 1 year | No |
det_locale | Us | The language you read the site in | 1 year | No |
sb-…-auth-token | Us (Supabase) | Keeps you signed in | Until you sign out, at most 400 days | No |
det_start | Us | Your start answers until you sign in | 1 hour | No |
Start draft (browser storage) | Us | An unfinished start, so a reload does not lose it | 1 day | No |
crisp-client/… | Crisp | Keeps a support conversation going across the public pages | Set by Crisp, only once you open the chat | No |
ph_…_posthog, and browser storage | PostHog | Recognises your visits for measurement | 1 year | Yes: only after Accept |
__ph_opt_in_out_… (browser storage) | PostHog | Remembers that you accepted measurement | 1 year | Yes: only after Accept |
Payments
Subscriptions are sold by Stripe as merchant of record. Stripe collects your card or other payment details, your billing address and VAT information on its own checkout page and processes them under its privacy policy. Those details never reach this service. Your receipts and billing emails come from Stripe and Link.
We keep your Stripe customer and subscription identifiers, your plan, its status and its dates, only to decide what you can use. They are part of your data export and are deleted with your account. If a subscription was charged twice by mistake, a record of the refund we owe you is kept until it is paid.
Support chat and the contact form
The public pages, and not the app, show a chat button and a contact form provided by Crisp, a French company. Nothing is loaded from Crisp until you press the chat button; from then on it keeps a cookie in your browser so that the conversation carries on from page to page. When you write to us, your message, the email address you give and basic technical details such as your browser and approximate location are processed by Crisp on our behalf under its privacy policy. Nothing from inside the app is sent to Crisp.
Where things run
Compute, the database and file storage are in the EU. The content delivery network, authentication email and any AI provider are separate and are not promised to be EU-only.
Recorded audio and photographs
A recording is made only when you press record, and a photograph only when you choose a file. Both are stored privately, transcribed for feedback, and become inaccessible after 30 days — roleplay audio after 7. A transcript is evidence about words, never about how you sounded.
How long things are kept
Recordings and photographs become inaccessible after 30 days, roleplay audio after 7 days, and an unfinished upload after 1 day.
What you tell us when you start
Before you sign in, we ask which exam parts you need, your level, your exam date and how much time you have. Until you sign in, these answers stay in your browser and in a cookie that expires after an hour. After that they are saved to your account, where you can change them in Settings.
We also ask what the Dutch is mainly for. You can choose not to say. Because the answer can say something about your situation, it never appears in our logs, it does not change your plan, it is included in your download, and it is deleted with your account.
Who can see it
Your account and your answers are yours: other learners cannot see them. The operator of this deployment holds administrative access to the database and can therefore reach it, because somebody has to be able to run a migration and a restore. A reviewer, when one is appointed, reads shared Dutch material and never your answers.
Your copy, and deleting it
You can download everything you have done as one JSON file, and you can delete the account. Deletion removes your learning data and your files; it stops short of records that exist to say who approved shared material, and it tells you when it does.
Backups
Backups are taken so that a mistake does not lose your work, and a backup is never edited. Deleted data can therefore remain inside a restricted backup until that backup expires, and a restored backup replays outstanding deletion requests before access is reopened.
What this is not
This describes the controls this deployment implements. It is not a claim of complete compliance with any particular law, and it is not a contract.