UnimeType is built around two equally important privacy guarantees: ordinary typing never leaves your device, and when you deliberately trigger Convert, Polish, or Explain, neither the UnimeType gateway nor our upstream model routes retain your text or use it for model training.
1. Ordinary typing stays on your device
Opening the keyboard, switching input sources, or typing normal messages, passwords, and notes does not initiate any network request. If you enabled the bundled Chinese base shorts Language Pack, exact local phrase matches also complete directly on your device without an AI request. Before any first AI action runs, UnimeType asks for your explicit in-app AI-processing consent.
2. When you trigger an AI action: zero text retention and no model training
Text is sent to your configured AI service only at the moment you tap or press the shortcut for Convert, Polish, or Explain. Even then, both the UnimeType gateway and our upstream model requests enforce strict zero-retention policies:
When you use UnimeType Balance (Managed Service), the UnimeType gateway runs with message logging and prompt spend-logging turned off (turn_off_message_logging, store_prompts_in_spend_logs = false) and response caching disabled. The gateway meters only token counts, latency, and status codes to update your credit balance; your source text and converted output are never stored in UnimeType databases or logs.
Every upstream request also enforces zero data retention and blocks model training at both the protocol and account levels:
- For upstream models routed through OpenRouter, both the UnimeType gateway and all native clients enforce
zdr: true(routing exclusively to Zero Data Retention endpoints) anddata_collection: "deny", while our production account keeps workspace Input & Output Logging and all paid or free training permissions turned off. - For upstream models accessed via the Responses API (such as BytePlus / Volcengine Ark), the gateway and clients force
store: falseand disable context caching (caching: disabled) so prompts and completions are not persisted.
If you use Your own API key (BYOK) with OpenRouter, UnimeType clients still attach zdr: true and data_collection: "deny" by default and display a ZDR badge next to verified endpoints in the model picker; direct OpenAI requests likewise send store: false. And if you connect to a local Transliteration-2.0 model on Mac, Windows, or Linux, inference runs entirely in your own computer's memory without touching an external network.
3. Why iOS asks for "Allow Full Access"
On iPhone and iPad, Apple places third-party keyboard extensions inside a strict sandbox. Without Full Access, you can type normal Latin letters, but iOS blocks the keyboard extension from making network requests or reading the language and AI service settings you saved in the main UnimeType app.
Turning on Allow Full Access lets Convert, Polish, and Explain reach your configured AI service when you tap an action button, while everyday keystrokes remain local.
4. Automatic local masking before a request
Before sending text for Convert, Polish, or Explain, UnimeType scans the captured text on your device and replaces recognizable technical and sensitive items with local placeholders ([[UNIMETYPE_PROTECTED_*]]):
- Inline code spans and fenced code blocks (backtick-wrapped code)
- URLs and links (
http://,https://,www., and Markdown link targets) - Email addresses
- Recognizable Unix and Windows file paths
- Recognizable API keys and private key blocks (such as
sk-orAIzatokens, and PEM / OpenSSH / PGP private-key blocks) - Labelled secrets on the same line: when a line contains a recognizable secret label (
password,passwd,pwd,passcode,PIN,API key,x-api-key,access token,auth token,refresh token,client secret,private key,seed phrase,recovery phrase,mnemonic, or their Chinese equivalents密码,口令,私钥,助记词,恢复短语), UnimeType masks the remainder of that line locally so the value is never sent to the model.
When the model responds, UnimeType restores the original values on your device and checks that every placeholder returned intact and in order. If any protected placeholder is missing or altered, UnimeType rejects the response and keeps your original text unchanged.
Important limitation: Local masking relies on recognizable patterns and labels. It cannot detect every unlabelled secret or confidential business fact. If you do not want a piece of text sent to your configured AI service, do not trigger Convert, Polish, or Explain on that text.
5. How much surrounding context Convert reads
To disambiguate short syllables (such as homophones or accentless words), Convert may include up to 100 characters of preceding text from the current or immediately preceding line as read-only context. Any recognizable URLs, code spans, or secrets inside that read-only context are masked locally on your device before the request is sent, and the context is subject to the same zero-retention policy as your target text.