Skip to content
Mignuti Chatbot

Trust Center

Your customers' data. In Europe. Under your terms.

Mignuti Chatbot is built for B2B from day one — every architectural decision starts with "would a DSGVO-officer sign this off?". Below: how the system works, where the bytes live, who else touches them, and the legal scaffolding around it.

Compliant

DSGVO / GDPR

Art. 28 DPA available

Compliant

EU-AI-Act

Article 50 disclosure

Roadmap

ISO 27001

Audit planned

Roadmap

SOC 2 Type II

Audit 2027

Where every byte goes

From the moment a visitor types a question until the answer reaches them — drawn to scale.

EU data residency · Germany + Stockholm Visitor Customer site Widget ~37 KB · Shadow DOM Session JWT + IP-hash Mignuti Chatbot Edge Supabase Functions Germany Postgres RLS · pgvector EU encrypted Claude Haiku Anthropic (USA) PII-redacted · no training
Every component inside the dashed frame runs in EU data centres. LLM inference is performed by Anthropic PBC (USA) — safeguarded by the EU SCCs 2021/914, with personal data automatically redacted beforehand. Cross-region replication is opt-in, not default.

Subprocessors

Subscribe to changes via your Compliance settings — you'll get 30 days notice before any change takes effect.

Processor Purpose Region Transfer DPA
netcup GmbH (Germany) Server hosting (self-hosted Supabase stack: DB, Auth, Edge Functions, Storage) Germany Intra-EU View DPA
Anthropic PBC LLM inference (Claude Haiku 4.5) USA EU-SCCs 2021/914 View DPA
OpenAI (USA) Embeddings (text-embedding-3-small) — query & document vectors, PII-redacted USA EU-SCCs 2021/914 View DPA
Microsoft Azure OpenAI LLM fallback (GPT-4o-mini) Sweden Central — EU data zone Intra-EU View DPA
Stripe Payment processing Ireland (Stripe Payments Europe Ltd.) Intra-EU View DPA
Cloudflare CDN + DDoS protection (widget delivery) Global anycast, EU PoPs SCCs + EU IDTA View DPA
Resend Transactional email (invites, notifications, magic links, form submissions) USA EU SCCs 2021/914 View DPA
Sentry Error monitoring (stack traces, anonymized user IDs) EU (Frankfurt) Intra-EU View DPA
Plausible Analytics Marketing-site analytics (page views, no cookies) EU (Germany) Intra-EU View DPA

Technical & Organisational Measures (TOMs)

The pillars we hold ourselves to — verified by automated tests on every change and ongoing internal security reviews.

Multi-Tenant Isolation

Row-Level Security (RLS) on every customer-data table. Default DENY — explicit grants only. Tenant-isolation is verified by automated test-suite running on every PR.

EU Data Residency

Database, file storage and the vector database run in the EU (our own server in Germany). Embedding inference runs at OpenAI (USA) and the primary LLM inference at Anthropic PBC (USA) — both safeguarded by the EU SCCs 2021/914, with personal data automatically redacted before transfer (PII redaction). The optional fallback LLM runs in the Azure EU data zone (Sweden Central).

Encryption

TLS 1.3 on every connection, bcrypt for widget secrets. JWT tokens are HS256-signed and bound to the originating IP-hash.

Prompt-Injection Defence

User-content is enveloped in <source> markers, control-characters are stripped, and 12 known injection patterns are blocked at the Edge layer before they reach the LLM.

PII Redaction

On by default: incoming messages are scanned rule-based for personal data and redacted before the LLM call — email, phone, IBAN, credit card, ID-card and tax numbers, IP addresses; street addresses and names following a salutation are matched by pattern. Free-standing names without a salutation are not detected by the rules.

Audit Logging

Every privileged action writes an append-only entry. Retention 2 years operational, 7 years for compliance-relevant events. Read-only via service-role.

EU-AI-Act Compliance

Article 50 disclosure shown on every chat session — unblockable, contractually fixed. Bot identifies as AI in the welcome line and in the persistent footer banner.

GDPR Self-Service

End-users can delete their conversation history without an account via a per-session token. Org owners get one-click data exports and a 30-day cooling-off period before account deletion.

Abuse & attack protection

Layered defence against automated abuse: rate-limiting per session, IP and project key plus hard per-plan usage caps (protection against cost-driving request flooding). Prompt-injection and jailbreak attempts are detected and flagged; the bot reveals neither its instructions nor another project’s data, and every link in a reply is validated against the sources actually on file.

Data minimisation

We store as little as possible: visitor IPs and browser identifiers are kept only as a one-way hash, never in the clear. Chat histories are anonymised automatically and deleted once the retention period ends.

Security & compliance FAQ

The ten questions every DPO and CISO asks before signing.

Where exactly do you store customer data?

Postgres, file storage and the vector database: our own server in Germany (netcup). Embedding inference (text-embedding-3-small) runs at OpenAI (USA) and the primary LLM (Claude Haiku 4.5) at Anthropic PBC (USA) — both safeguarded by the EU SCCs 2021/914, with personal data automatically redacted before transfer. Fallback LLM: Azure Sweden Central. Widget delivery: Cloudflare anycast with EU PoPs. All stored platform data remains in the EU.

Does the LLM provider train on our data?

No. Anthropic, OpenAI and Azure OpenAI all have explicit no-training-on-API-data terms. Our DPA cascades these obligations. Provider-side retention of inputs and outputs follows the Anthropic Commercial Terms; personal data is redacted before any LLM call.

How is my data isolated from other tenants?

Postgres Row-Level-Security on every customer table, Default DENY. Tenant isolation is verified by an automated test-suite running on every PR (RLS-tenant-isolation.test.ts). The pgvector retrieval RPC is session-scoped — a stolen JWT cannot query embeddings outside its bound project_id.

How do you handle PII inside chat messages?

Rule-based redaction removes emails, phone numbers, IBAN, credit-card numbers, German ID-card and tax numbers and IP addresses from logs and embeddings BEFORE they reach the LLM; street addresses and names following a salutation are matched by pattern. End-users are warned in the permanent Article 50 disclosure banner (contractually fixed in our TOS) not to share sensitive data.

What happens if you have a security incident?

Notification within 72 hours per Art. 33 GDPR to your DPO email on file. Service-status updates on /status (5-minute sampling). Post-mortem published within 14 days for any P1 incident affecting customer data.

Can the bot leak our internal data via prompt injection?

User inputs are wrapped in <source> sentinel tags and 12 known injection patterns are blocked at the Edge layer. Output is validated against a canary token — if the LLM echoes our system prompt, the response is blocked client-side. Prompt-injection-test.ts runs on every PR with 8 attack vectors.

Are you SOC 2 / ISO 27001 certified?

On the roadmap: an ISO 27001 audit, then SOC 2 Type II (targeted 2027). Today we operate under TOMs aligned to those frameworks but without the external-auditor stamp. For early-stage customers we accept this; for regulated industries, please reach out before signing.

Can our DPO get a custom DPA with our forms?

Yes, Pro and Agency plans. Our standard DPA is at /en/legal/dpa and matches Art. 28 GDPR + EU SCCs. For your custom form, mail it to media@mignuti.com — we sign within one business day on weekdays.

What about end-user data subject rights (Art. 15-22)?

Self-service in the dashboard: 1-click data-export (signed-URL, 60s validity) and account-deletion with 30-day grace period. End-users can delete their conversation history without logging in via a per-session delete-token shown in the widget footer — no login required.

What happens to our data if Mignuti Chatbot shuts down?

Contractually: 90-day notice + final data export. Practically: every customer can self-export PDFs + conversations + Q&A pairs as JSON/CSV at any time, no support call needed. Source code escrow available on Enterprise plans.

Found a security issue?

We welcome responsible reports. If you find a vulnerability, please tell us confidentially first — before you publish it. We acknowledge receipt within one business day on weekdays, keep you updated, and credit you as the finder if you’d like.

Please no automated mass-testing against production and no access to other customers’ data — when in doubt, check with us first.

Need a custom DPA or a security questionnaire?

Reply within 1 business day on weekdays.

media@mignuti.com

Blutcode akzeptiert · A B A C A B B

Du kennst den Code. Wir mögen dich jetzt schon.

Das war der Mortal-Kombat-Blutcode vom Sega Mega Drive — nicht das ABACAB-Album von Genesis. Respekt fürs Erinnern.

Dein Rabattcode: MORTALCOMBAT — beim Upgrade einlösen.

Und wenn du so genau hinschaust: wir stellen ein →