Data handling
Chat and research conversation content (prompts and model responses) is stored on servers operated by Awai Network LLC It is not end-to-end encrypted against the operator — do not treat submissions as private from Awai Network LLC. There are no inference logs, and prompts are never used to train or fine-tune models. Content is retained for the life of the account until account delete. This page lists what is kept, where, and for how long.
The prompt's path
- 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.
- 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.
- 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 | Retained for the life of the account until account delete. Longer if required by law, dispute, security incident, or an open lawful request. Deleted or irreversibly anonymised on account-closure request, except where law requires longer retention. Under storage pressure, an emergency capacity prune may delete older jobs before account delete (not the retention policy). |
| 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 30 days by default (an operator may choose 1–365 days). |
| 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
- You: /v1/research/status (state), /v1/research/job?jobId= (your own jobs), /v1/billing/status (balance) — the same principal only, by PAT or cookie.
- Operators: HMAC-signed review operations (admin origin) change state; there is no public route that reads job text.
- Other principals: nothing (jobs are bound to their principal — job-owner-mismatch).
Boundaries
- The server executes no tools, code, commands or network actions. tool_calls are returned as text; execution is your agent's.
- Content screening (CSAM, CBRN, fraud-as-a-service) is a separate screening model's judgement over the request's user turns only; only a block is recorded (tool results and assistant turns are not read for it).
- Data residency is not pinned (dataResidency: not-pinned at /v1/secure — no region is selected in code or configuration).
GET https://api.kotoba.cloud/v1/secure
→ {"compliance": {"auditLogRetentionDays": 180, "dataResidency": "not-pinned", "zeroDataRetention": "no-inference-logs-no-training", ...}}
Conversation content remains on operator servers until account delete. It is not end-to-end secret from Kotoba Labs. It is not used for training. Where a competent investigative authority makes a lawful request, relevant information is provided without undue delay to the extent applicable law permits. Edge logs, the ledger and the audit log keep numbers and ids only (prompt text is never written to edge logs).