Confidential document translation

Confidential contract and NDA translation with local data masking

Legal and business documents are full of the exact data you can't afford to paste into a public translation box: party names, ID and passport numbers, bank accounts, addresses, and commercial terms. Veil Translate lets you translate a contract while those details never leave your browser as plaintext.

Everything sensitive is detected and replaced with stable placeholders locally. Only the masked text is sent — directly from your browser to the translation provider you choose — and the real values are restored on your machine after translation, with the original formatting intact.

Translate a document securelyFree · no sign-up · runs in your browser

Confidential contract and NDA translation: short answer

Use Veil Translate when a contract or confidential file needs AI translation but contains sensitive values. Names, IDs, bank details and organizations are masked in the browser first; only masked text is sent to the provider you choose, and the real values are restored locally after translation.

What gets protected

Names, ID/USCC numbers, phone numbers, emails, bank accounts and organizations are detected by regex plus a locally-run AI model, then swapped for placeholders like ⟦NAME_1⟧ or ⟦ID_1⟧ before any request goes out.

You review every detected entity before masking: edit a value, drop a false positive, add one manually, or allowlist terms that should stay untouched such as product names and public brands.

Where the boundary is (told honestly)

This tool protects the sensitive entities it detects and you confirm. The remaining de-identified body text is still sent as plaintext to your chosen provider — it is not encrypted translation. You can inspect every outbound request in the browser's Network panel.

Because translation runs on your own API key straight from the browser, there is no middleman server that could log your text or key.

Formats and languages

Upload .docx, .xlsx or .pptx and get the translation back in the same layout. Translate between Chinese (Simplified and Traditional), English, Japanese, Korean, French, German, Spanish, Russian and Arabic, in any direction, and batch up to 10 files at once.

Frequently asked questions

Is my contract uploaded to your server?

No. Parsing, detection, masking and restoration all happen in your browser. The only outbound content is masked text and your API key, sent by your browser directly to the translation provider you selected.

What if a sensitive value isn't detected automatically?

You can add it manually on the review screen before masking, and allowlist anything that should never be masked. Nothing is sent until you confirm.

Can I use my company's own LLM endpoint?

Yes. Any OpenAI-compatible endpoint works (OpenAI, DeepSeek, Kimi, OpenRouter, or a custom base URL), as long as it allows cross-origin browser requests.

Can I translate an NDA confidentially?

Yes. Review the parties, contact details, IDs, account details and any other sensitive values first. The browser replaces the values you confirm with placeholders before it sends the surrounding text to your chosen provider.

Related guides