GET /api/v1/proxy/status for the
managed-demo fields (managed_enabled, managed_models, remaining
allowances) before relying on the demo./mask| You want to… | Use |
| Call OpenAI/Anthropic with your existing SDK and have PII handled automatically | Proxy |
| Mask text, then decide yourself where it goes (your own LLM, storage, analytics) | /mask |
| Irreversibly strip PII for logs/display, no recovery needed | /redact |
/mask is the building block when you need control over the
middle step. The proxy is built on the same masker: same recognizers,
same accuracy.messages, system, tools, …).<MASKED_PERSON_a1b2c3d4>. The {token: original} mapping is held
only in this request handler; it is never persisted.X-Provider-Key), or, in the dashboard
demo, KINDI's own capped managed key. Only masked text egresses
the Kingdom./mask, the proxy is server-side: KINDI
forwards the masked prompt to the provider on your behalf. The
{token: original} mapping exists transiently in the proxy request
handler and is discarded when the request finishes. It is never
stored, never logged, and never returned. This is a different trust
model from /mask, where decryption happens entirely in your own
process. Use the proxy when you want KINDI to make the provider call;
use /mask when you want to keep the provider call inside your own
infrastructure./mask and
/redact: metered by word count (1 token = 1 word), billed to the
authenticated user. Current rates are shown on your
dashboard billing page.
Proxy
usage is tagged source="proxy" in your usage records and shows up on
the dashboard Overview and in
/me/stats alongside /mask and /redact.X-Provider-Key), OpenAI/Anthropic bills your provider account
directly; KINDI never sees or fronts that cost./mask); the
managed cap only governs the provider cost. See
Keys & auth and Limitations.proxy_config SDK
helper.