Noirdoc

dark mode for your AI.

noirdoc
Your message
Write a welcome email to Lisa Schmidt (lisa.schmidt@acme.de) — her first day is March 15, 2026.
noirdoc ↓ 3 fields detected · pseudonymized
The model sees
Write a welcome email to <<PERSON_1>> (<<EMAIL_1>>) — her first day is <<DATE_1>>.
noirdoc ↑ 3 fields restored
Your response
Dear Ms. Schmidt, welcome to the team! We look forward to your start on March 15, 2026. For questions, reach us at lisa.schmidt@acme.de.
Your message
Draft a response to the deletion request from Thomas Weber (t.weber@firma.de) — received on January 22, 2026.
noirdoc ↓ 3 fields detected · pseudonymized
The model sees
Draft a response to the deletion request from <<PERSON_1>> (<<EMAIL_1>>) — received on <<DATE_1>>.
noirdoc ↑ 3 fields restored
Your response
Dear Mr. Weber, we hereby confirm receipt of your deletion request dated January 22, 2026. A confirmation was sent to t.weber@firma.de.
Your message
Write a response to Dr. Anna Fischer (a.fischer@lawfirm.de) — her complaint from January 8, 2026 concerns the last delivery.
noirdoc ↓ 3 fields detected · pseudonymized
The model sees
Write a response to <<PERSON_1>> (<<EMAIL_1>>) — her complaint from <<DATE_1>> concerns the last delivery.
noirdoc ↑ 3 fields restored
Your response
Dear Dr. Fischer, thank you for your message dated January 8, 2026. We have forwarded your feedback to a.fischer@lawfirm.de.

Prompts · documents · chat histories.

Request access managed · self-hosted · GDPR-compliant

Three steps. Zero contact.

Every request is intercepted, scrubbed, and restored — automatically.

INTERCEPT

Detect & pseudonymize

Names, emails, phone numbers, IBANs — automatically detected and replaced with pseudonyms like <<PERSON_1>>.

FORWARD

Proxy to provider

The clean request goes to OpenAI, Anthropic, Azure — or any compatible provider. The model never sees real data.

RESTORE

Reidentify response

Pseudonyms in the response are mapped back to real values. You read the full answer — the provider never did.

Session state persists. <<PERSON_1>> always maps to the same person — across every message.

Drop in anywhere.

OpenAI Anthropic Azure OpenAI OpenRouter Any OpenAI-compatible

One proxy, every provider. Plug in — everything else stays the same.

Real data never reaches the model.

Your names, your emails, your dates — the provider never sees them.

Personal data is detected and replaced before the request reaches the model.

Two independent detection engines — one for patterns, one for context. Zero gaps.

Full audit trail. Every request logged.

GDPR-compliant by design. Managed hosting in Germany or self-hosted on your infrastructure.

your data. their AI. zero exposure.

Managed hosting in Germany or deploy on your own infrastructure.

v0.1.0