What we mask, and what we don't
Your survey answer
What the AI provider gets
What we mask
kontakt.klient@example.com
{%EMAIL_ADDRESS_1%}
+48 600 123 456
{%PHONE_NUMBER_1%}
DE89 3704 0044 0532 0130 00
{%IBAN_CODE_1%}
4111 1111 1111 1111
{%CREDIT_CARD_1%}
90022800007
{%PL_PESEL_1%}
Every EU/EEA state plus GB and CH — full list further down.
ul. Kwiatowa 12/3, 00-001 Warszawa
{%ADDRESS_1%}
Placeholders are numbered per prompt — the same value gets the same number every time it appears, so an insight can still tell "two different phone numbers" from "the same one twice". A national-id or tax/VAT placeholder names the country it detected (e.g. DE_TAX_ID) — that is a deliberate trade-off, not an oversight.
What we deliberately don't mask
"Anna Nowak"
No legal requirement to mask names on their own, and a quote with the name stripped out reads like it was edited — verifiability matters more here than a redaction nobody asked for.
"2026-03-14"
A date recognizer produced too many false positives against order and delivery dates to run safely — turned off on purpose rather than shipped half-broken.
ID card, passport, driving licence
No reliable cross-country pattern to detect these safely without also flagging order and product codes — see the false-positive note above.
e.g. "WA12345"
Same reason as document numbers — the shapes overlap too much with SKUs and order codes to mask confidently.
"order-04812", "shipment-DPD-99213877"
Not personal data, and the whole point of an e-commerce survey often depends on them staying readable in the quote.
e.g. "https://example.com/order/48212"
Usually a link the respondent pasted on purpose to show you something — masking it would remove the point of pasting it.
e.g. "I couldn't try it on because I'm pregnant" / health, religion, etc. mentioned in free text
Detecting sensitive topics from free text reliably is a different, much harder problem than pattern-matching an IBAN — out of scope today. If a respondent writes this kind of detail, it reaches your panel and the AI provider exactly as typed.
Examples, in the languages our respondents actually use
Your answer
Please refer to my number kontakt.klient@example.com regarding order order-00048, thanks.
What the AI provider gets
Please refer to my number {%EMAIL_ADDRESS_1%} regarding order order-00048, thanks.
Your answer
Please refer to my number +48 600 123 456 regarding order order-00046, thanks.
What the AI provider gets
Please refer to my number {%PHONE_NUMBER_1%} regarding order order-00046, thanks.
Your answer
Please refer to my number DE89370400440532013000 regarding order order-00047, thanks.
What the AI provider gets
Please refer to my number {%IBAN_CODE_1%} regarding order order-00047, thanks.
Your answer
Please refer to my number 4111 1111 1111 1111 regarding order order-00009, thanks.
What the AI provider gets
Please refer to my number {%CREDIT_CARD_1%} regarding order order-00009, thanks.
Your answer
Please refer to my number ul. Kwiatowa 12/3, 00-001 Warszawa regarding order order-00000, thanks.
What the AI provider gets
Please refer to my number {%ADDRESS_1%} regarding order order-00000, thanks.
Your answer
Please refer to my number GB980780684 regarding order order-00355, thanks.
What the AI provider gets
Please refer to my number {%GB_VAT_1%} regarding order order-00355, thanks.
Your answer
Please refer to my number 7569217076985 regarding order order-00035, thanks.
What the AI provider gets
Please refer to my number {%CH_SSN_1%} regarding order order-00035, thanks.
Your answer
Proszę o kontakt w sprawie zamówienia order-00475, mój numer to 90022800007.
What the AI provider gets
Proszę o kontakt w sprawie zamówienia order-00475, mój numer to {%PL_PESEL_1%}.
Your answer
Proszę o kontakt w sprawie zamówienia order-00470, mój numer to 856 734 6215.
What the AI provider gets
Proszę o kontakt w sprawie zamówienia order-00470, mój numer to {%PL_NIP_1%}.
Your answer
Bitte prüfen Sie meine Nummer 36574261809 für die Bestellung order-00065.
What the AI provider gets
Bitte prüfen Sie meine Nummer {%DE_IDNR_1%} für die Bestellung order-00065.
Your answer
Bitte prüfen Sie meine Nummer DE767644980 für die Bestellung order-00066.
What the AI provider gets
Bitte prüfen Sie meine Nummer {%DE_VAT_1%} für die Bestellung order-00066.
Your answer
Merci de vérifier mon numéro 2 95 10 99 126 111 93 pour la commande order-00105.
What the AI provider gets
Merci de vérifier mon numéro {%FR_NIR_1%} pour la commande order-00105.
Your answer
Merci de vérifier mon numéro FR88100000009 pour la commande order-00106.
What the AI provider gets
Merci de vérifier mon numéro {%FR_TVA_1%} pour la commande order-00106.
Your answer
Por favor revisen mi número 12345678Z para el pedido order-00140.
What the AI provider gets
Por favor revisen mi número {%ES_NIF_1%} para el pedido order-00140.
Your answer
Por favor revisen mi número ES32509269B para el pedido order-00141.
What the AI provider gets
Por favor revisen mi número {%ES_VAT_1%} para el pedido order-00141.
Your answer
Vi prego di controllare il mio numero RCCMNL83S18D969H per l’ordine order-00170.
What the AI provider gets
Vi prego di controllare il mio numero {%IT_FISCAL_CODE_1%} per l’ordine order-00170.
Your answer
Controleer mijn nummer 401286721 voor bestelling order-00250, alstublieft.
What the AI provider gets
Controleer mijn nummer {%NL_BSN_1%} voor bestelling order-00250, alstublieft.
Your answer
Por favor verifiquem o meu número PT197947166 para o pedido order-00320.
What the AI provider gets
Por favor verifiquem o meu número {%PT_NIF_1%} para o pedido order-00320.
Your answer
Prosím zkontrolujte mé číslo 900101100 pro objednávku order-00360.
What the AI provider gets
Prosím zkontrolujte mé číslo {%CZ_RC_1%} pro objednávku order-00360.
Your answer
Kontrollera mitt nummer 9001010009 för beställning order-00420, tack.
What the AI provider gets
Kontrollera mitt nummer {%SE_PERSONNUMMER_1%} för beställning order-00420, tack.
Your answer
Anna Nowak ordered on 2026-03-14, order order-04812, product SKU-88213-BLK.
What the AI provider gets
Anna Nowak ordered on 2026-03-14, order order-04812, product SKU-88213-BLK.
Your answer
Tracking is shipment-DPD-99213877, still not moving since 2026-03-14.
What the AI provider gets
Tracking is shipment-DPD-99213877, still not moving since 2026-03-14.
Your answer
My driving licence number is on the return slip if you need it.
What the AI provider gets
My driving licence number is on the return slip if you need it.
Your answer
See the photo I posted at https://example.com/order/48212/photo.
What the AI provider gets
See the photo I posted at https://example.com/order/48212/photo.
Your answer
Couldn’t try the jacket on properly, I’m currently pregnant.
What the AI provider gets
Couldn’t try the jacket on properly, I’m currently pregnant.
25 rows shown, 20 masked across 10 languages, 5 deliberately not masked.
The model sees tokens. You see the respondent.
Sent to the AI provider
Please refer to my number {%EMAIL_ADDRESS_1%} regarding order order-00048, thanks.
Shown in your panel
Please refer to my number kontakt.klient@example.com regarding order order-00048, thanks.
A quote the model returns with an unknown placeholder is rejected outright, not shown with a guessed value — the same refuse-to-guess rule the rest of the product follows.
How it works
How we protect your account
Subprocessors
| Subprocessor | Purpose | Location |
|---|---|---|
| OVH Sp. z o.o. (Wrocław) | Hosting of the application and database | Germany |
| Hetzner Online GmbH (Gunzenhausen) | Storage of encrypted backups | EU (Germany or Finland) |
| Anthropic Ireland, Limited (Dublin) | Analysis of open-ended answers with an AI model; help with creating surveys | United States, SCC (Decision 2021/914, Module 3) |
A few more questions
Does masking make the survey GDPR compliant?
Masking runs on our own server, before an answer reaches our AI provider. No single feature makes anything "compliant" on its own — masking helps you meet GDPR's data-minimisation principle for what reaches our AI provider, one control among several, not a certificate.
Can I turn masking off?
It's a system-level setting today, always on for every account — not a per-store switch.
What if masking fails?
Fail-closed: if the masking service is unreachable, nothing gets sent to the AI provider for that batch, and the recalculation is reported as failed — the same way any other recalculation failure is shown.