本文へ移動
メイン ドキュメント
ドキュメント

Data handling

The design is zero data retention: no inference logs, and prompts are never used for training. That is not the same as "nothing remains". This page lists what is kept, where and for how long, from the code that writes it.

The prompt's path

  1. The edge (api.kotoba.cloud) validates the request, runs guardrails and hands the prompt to the private authority. Edge logs carry numbers only (job id, token counts, refusal codes) — never prompt text.
  2. The authority writes a **job record** in the principal's own Durable Object: the request (messages, tools, max_tokens), the state, the answer text or tool_calls, and the provider's usage receipt (token counts). This record is what lets a retry re-attach and a paid job settle from a receipt.
  3. The inference origin (dedicated route, shared route) processes the prompt in memory and returns the answer. Which providers stand behind a route is operator configuration, not public policy.

Kept / never kept

Data Where How long
Job records (prompt, answer, tool_calls, usage) The principal's private authority storage Deleted automatically 24 hours after the terminal state (succeeded / failed); a job that never reached one, 24 hours after creation. After deletion an identical request becomes a new job.
Verification status, expiry, evidence reference Same Expires after 365 days. The evidence itself (documents, card) lives at Stripe only.
AML/CTF screening status Same Expires after 24 hours.
Guardrail / firewall refusal receipts Same As audit log, 180 days (auditLogRetentionDays at /v1/secure).
Free-quota counters (daily) Same Overwritten the next UTC day.
Prepaid ledger (grants, holds, settlements, receipt ids and token counts) The principal's BillingAccount Kept as financial history (never erased). Contains no prompt text.
Payment data (card numbers, billing address) Stripe kotoba.cloud holds only the customer id and invoice ids.
Inference logs, training data Never created.

Who can read it

Boundaries

HTTP
GET https://api.kotoba.cloud/v1/secure
→ {"compliance": {"auditLogRetentionDays": 180, "dataResidency": "unspecified", "zeroDataRetention": "designed-for-zdr", ...}}

Job records are gone after 24 hours (the research authority's retention alarm, since 2026-09-15). "ZDR" means no inference logs, no training, and text that is gone within 24 hours; what the ledger and the audit log keep are numbers and ids.