DocsOpen Moon AI
Browse the docs

Privacy and Moon Blur

What Moon AI keeps from an API request, what Moon Blur masks before sending to the model, and what the model providers receive and see.

On this page

An API request goes through Moon AI, where Moon Blur masks the personal data it detects in the text, then to the model provider, which receives the rest. Moon AI keeps only metadata: the cost, the tokens, and the state of a video job.

What Moon AI keepsLink to the What Moon AI keeps section

Moon AI does not keep the content of your API requests.

  • Prompts and responses are neither stored nor written to logs.
  • An API call does not create a conversation.
  • Every response carries the X-Moon-Prompt-Storage: none header.

Moon AI keeps billing data, not content: the model, the number of tokens, the cost in credits, the latency (total and to the first token), the request ID and its date. This data is tied to your workspace for billing and abuse prevention.

  • Every day, these rows are added up per workspace, per model and per day.
  • Per-request rows can be deleted after 90 days, never before 31 days (the 30-day spend cap reads them). Only the daily totals remain after that.
  • Financial records (top-ups, invoices, adjustments) are never deleted: they are kept according to accounting rules.
  • The originating IP address is not stored.

The “Request log” in the portal’s “Usage” tab shows the model, the tokens, the cost and the time, never the content.

MediaLink to the Media section

EndpointWhat is kept
ImagesNothing: images come back in the response, in base64.
VideosThe job’s state (status, duration, resolution, aspect ratio, cost), not your description or the video. The video is read from the provider at download time: download it within the hour.
Speech, transcriptionNothing: audio and text are processed in memory, never written.
EmbeddingsNothing: vectors come back in the response.
OCR (moon-ocr-1)Nothing: the document is read on our servers in France and never leaves them.

Moon BlurLink to the Moon Blur section

Moon Blur replaces the personal data it detects (email addresses, phone numbers, bank details, ID numbers…) with placeholders, such as [MB_EMAIL_1], before the request goes to the model. The real values are put back in the response before it reaches you.

What is maskedLink to the What is masked section

For chat (/v1/chat/completions):

  • the text of the messages;
  • tool calls, whether their arguments are a JSON string or an object;
  • the reasoning you send back to the model.

An end-user identifier (user, safety_identifier, prompt_cache_key) or a message name that contains personal data becomes a pseudonym (user- followed by 32 characters). This pseudonym stays the same from one request to the next within your workspace, and is different in any other workspace.

For embeddings, the texts you send are masked the same way (see Embeddings).

What is not maskedLink to the What is not masked section

  • Files, images and audio are sent as is: Moon Blur reads only text.
  • The image, video, speech and transcription endpoints do not use Moon Blur (X-Moon-Blur: not_applied): your description, the text to read and the audio go to the model provider as is.
  • OCR does not need it: the document never leaves our servers (X-Moon-Blur: not_needed).
  • The “Your data to mask” list in the chat settings does not apply to the API.

What Moon Blur does not guaranteeLink to the What Moon Blur does not guarantee section

Detection relies on patterns: it does not catch everything. A name on its own, for example, is not recognized.

The response with real values restoredLink to the The response with real values restored section

Masked values are put back before the response reaches you: in the text, in the reasoning and in the tool call arguments, which remain valid JSON. This also works when a placeholder is split across two chunks of a stream.

RefusalsLink to the Refusals section

When Moon Blur cannot apply, the request is never sent unmasked:

HTTPcodeCase
503moon_blur_unavailableMoon Blur failed: the request is not sent to the model and nothing is charged. Retry after Retry-After (5 seconds).
413moon_blur_payload_too_largeA text exceeds 500,000 characters, too long to be scanned in full: the request is refused and nothing is charged. Split the text, or turn off Moon Blur on the key.

HeadersLink to the Headers section

HeaderValue
X-Moon-Bluron (Moon Blur applied), off (Moon Blur turned off), not_applied (endpoint without Moon Blur), not_needed (OCR).
X-Moon-Blur-RedactionsNumber of values replaced, when there are any.

Turn off Moon Blur on a keyLink to the Turn off Moon Blur on a key section

Moon Blur is on by default for every key. The workspace owner or an admin can turn it off for a key in the portal’s “API keys” tab (see Authentication). The change is recorded in the workspace audit log. A key without Moon Blur sends its requests as is.

What model providers seeLink to the What model providers see section

Moon AI routes the request to the provider of the chosen model, which receives whatever Moon Blur leaves visible and processes it under its own terms.

For chat, the provider object can restrict providers to those that state they do not reuse data (data_collection: "deny") or retain nothing (zdr: true). These are commitments made by the providers, which Moon AI does not verify (see Provider preferences).

So the API is neither “zero data retention” nor “processed entirely in France”. Only the moon-ocr-1 OCR runs entirely on our servers in France (hosting: "fr" in /v1/models).

API responses and errors carry neither the provider’s name nor its internal IDs: id is the request ID at Moon AI, and model is the model you called (or the exact version served).

See alsoLink to the See also section

Moon AI

Moon AI in action

0:00

Explore

Screenshots of chat.realmoon.ai taken on October 29, 2026, with fictional data.

Moon AI

Your preferences

Visits counted without cookies.

Our server counts visits without cookies or trackers. Your theme and your answer about ad measurement are remembered on this device.

Ad measurement

With your consent, our ad networks’ trackers (Google) measure our ads, from the visit to the sign-up and then to the first subscription and its amount, and may show you our ads. Your answer is valid for 13 months; you can change it here at any time.

No answer saved on this device.

After you decline, no tag is loaded anymore and the site deletes the cookies they had set on realmoon.ai. Those on the ad networks’ own domains are managed with them or in your browser.

The Moon AI app has its own privacy settings.