Where your data sits,who sees it,and what Sanne isn't allowed to do.
- 0recordings in our systemsSanne works from text. The audio of your calls doesn't come in by default.
- 8companies namedEveryone who sees any part of a call is in the table further down.
- 24 hoursuntil you hear from usThat's how long we may take after discovering a breach. After that the clock is yours.
- 1 monthfor a caller's requestAccess, correction or erasure. The deadline in Article 12(3) of the GDPR.
You own the data. We carry it out.
- What Sanne may record, and how long it stays.
- What happens when a client asks for their data or asks you to delete it. We supply the buttons, you make the call.
- Whether you stop. Everything is gone within thirty days, or you take it with you as an export first.
- Doing only what the processing agreement says. Not one thing extra because it happens to be convenient.
- No model training on your calls. Not by us, and by contract not by the suppliers behind us either.
- Telling you within 24 hours, so you can still make the 72 hours to the Dutch DPA.
She says she's an AI herself, in her first sentence.
Good afternoon, [your salon]. You're speaking to Sanne, the AI receptionist. What can I help you with?
- 1.Call the number on this site and listen to the first sentence. It's either there or it isn't.
- 2.Say 'can I speak to someone' halfway through and time how long she takes.
- 3.Ask us for the disclosure log for your own number once you're a client. You get the timestamps.
Where it runs. Not all of it is in the EU.
- The application and all API traffic, pinned to Frankfurt.
- The database holding your calls, summaries and appointments, in Frankfurt.
- Your calendar, through Google Ireland.
- Billing, through Stripe Payments Europe in Ireland.
This is where everything that's yours comes to rest: your calls, your calendar, your appointments, your invoices.
- Speech to text, and the voice Sanne answers in.
- The language model that works out what's being asked.
- The telephony around it, on European numbers where possible.
On the European Commission's standard contractual clauses, with a processing agreement per supplier.
Who else touches it.
| Company | What they do | Where |
|---|---|---|
| ElevenLabs | Speech to text, Sanne's voice, running the conversation | United States |
| Anthropic | The language model that works out what's being asked | United States |
| Twilio | Telephony and phone numbers | EU routing where possible, US parent |
| Vercel | Hosting the app and the API | Frankfurt, US parent |
| Supabase | The database | Frankfurt |
| Google Ireland | Writing into your calendar | European Union |
| Stripe | Billing and collection | Ireland, with parts in the US |
| WhatsApp Ireland | The WhatsApp channel, once it's live | Ireland, storage in Germany |
- ElevenLabsWhat they doSpeech to text, Sanne's voice, running the conversationWhereUnited States
- AnthropicWhat they doThe language model that works out what's being askedWhereUnited States
- TwilioWhat they doTelephony and phone numbersWhereEU routing where possible, US parent
- VercelWhat they doHosting the app and the APIWhereFrankfurt, US parent
- SupabaseWhat they doThe databaseWhereFrankfurt
- Google IrelandWhat they doWriting into your calendarWhereEuropean Union
- StripeWhat they doBilling and collectionWhereIreland, with parts in the US
- WhatsApp IrelandWhat they doThe WhatsApp channel, once it's liveWhereIreland, storage in Germany
What we keep, and what we deliberately don't touch.
- When the call came in, how long it lasted, over which channel.
- What it was about, as a code from a fixed list: a cut, a colour, a consultation.
- Whether it was booked, and which appointment came out of it.
- The summary and the transcript, unless you're a clinic.
- The phone number, in two ways at once. See the note below.
- The recording itself. The platform refuses to accept the audio, so there's no switch to leave on by accident.
- A voiceprint or any other biometric identifier. Nothing needs one, so nothing has one.
- Free text at clinics. It's discarded on the way in.
- Payment details. Stripe sees those, we don't.
- Anything at all in a log file where it doesn't belong.
Clinics: a question about botox is health data.
How long it stays.
| What | How long |
|---|---|
| Recordings | Not keptThe audio doesn't enter our systems. |
| Transcripts and summaries | 90 daysCan be set to 30 days or to zero. At clinics it's zero by default. |
| Who called, what was booked | 2 yearsWithout content. This is what your overview is built on. |
| The AI disclosure log | 24 monthsCan't be edited, can't be deleted early. |
| The audit log | 12 monthsWho looked at what, and when. |
| Everything, after you cancel | 30 daysOr sooner as an export, if you ask before you leave. |
- RecordingsHow longNot keptThe audio doesn't enter our systems.
- Transcripts and summariesHow long90 daysCan be set to 30 days or to zero. At clinics it's zero by default.
- Who called, what was bookedHow long2 yearsWithout content. This is what your overview is built on.
- The AI disclosure logHow long24 monthsCan't be edited, can't be deleted early.
- The audit logHow long12 monthsWho looked at what, and when.
- Everything, after you cancelHow long30 daysOr sooner as an export, if you ask before you leave.
What a client can ask for, and what happens then.
- 1The request comes to you
You decide whether it's valid and whether you grant it. We don't take that decision off your hands, because that isn't a processor's job.
- 2We search the hash, not the number
You enter the phone number, we hash it with the same server key and that finds everything attached to it. The number itself never has to travel anywhere.
- 3Erasure happens in three places at once
In our database, at the speech supplier, and in your calendar. That last one we prepare rather than quietly change, because it's your calendar.
- 4The appointment itself stays
Emptied out, but present. Article 17(3) allows that and your bookkeeping needs it. If we refuse a request, we record why.
- 1.A processing agreement, before you go live rather than after.
- 2.This sub-processor list, and notice when anything about it changes.
- 3.On request, an export of everything we hold on you, in a readable format.
Probably. The Dutch DPA lists 'communications data' among the processing that requires a data protection impact assessment, and at a clinic Article 35(3)(b) lands on top of that. The assessment is yours, not ours, and we don't sign it. What we do: fill in half of it up front, with the retention periods that apply to your account, the sub-processors, and what gets recorded per call. That leaves you with the judgement, which is the part that was always yours.
How it's locked down.
Not because the code filters carefully, but because the database refuses. Every table is under row level security in forced mode, and without valid context you get zero rows back. The role the application logs in with isn't allowed to bypass that, and the migration fails if anyone tries to change it.
AES-256-GCM with a separate key per row, and those keys are themselves encrypted. Which salon and which integration a row belongs to is bound into the encryption, so pasting a row from one environment into another produces an error instead of data.
Against the raw body, with a time window against replay, and with a comparison that doesn't leak information through how long it takes. A message claiming to come from our telephony supplier but not actually from them is never processed.
Updates and deletes are blocked at database level, for us as well. A log you can edit afterwards isn't a log.
What Sanne isn't allowed to do.
- 01
She never invents a slot. Availability comes from your calendar, not from her.
- 02
She confirms nothing until the appointment is actually in there.
- 03
She won't book without a name and a working number.
- 04
She never quotes a price she worked out herself.
- 05
She transfers the moment someone asks for a person. Always, no negotiating.
- 06
Every call produces a summary you can read in ten seconds.
If something goes wrong.
- 1Within 24 hours
You hear from us, counted from the moment we discover it. With what happened, which data it touches and which of your clients.
- 2After that the clock is yours
You're the controller, so the 72-hour notification to the Dutch DPA and the decision to inform your clients are yours. We supply the facts and a draft text.
- 3You hear it from a person
No status page updating itself and no ticket number. We need a privacy contact from you before your account can exist, precisely for this: the database won't create the row without one.
Something this page doesn't answer?
Then it's a good question, and probably not only yours. Send it, and you'll get an answer from someone who knows. After that it goes on this page.