cheapinference.dev
MANAGE YOUR WORKSPACE

Security & privacy

Credential isolation, data handling, and tenant boundaries.

Credential isolation

Our upstream OpenAI credential is confined to the proxy environment. It is never sent to the browser or provided as a customer credential. Outbound requests use a controlled provider URL and a new set of server-owned headers.

Customer API keys have high-entropy random secrets. The database stores only a hash and a masked display identifier. The full key is returned once, on creation, with no-store caching.

Content and metadata

Prompt and response bodies pass through to the provider and are not persisted by this service. We retain the metadata required for billing and troubleshooting: model, endpoint, token counts, usage cost, timestamps, latency, status, and request identifiers.

OpenAI processes your request content under its applicable terms and retention policies. Our lack of content storage is not a claim of zero retention by every upstream service. Requests enforce store: false for supported text endpoints.

Organization isolation

Authenticated console requests resolve the active organization from the server session and re-check membership. Key management, usage exports, billing, and member actions enforce role permissions on the server.

Cross-organization references to stored provider responses, conversations, and files are rejected. Provider account headers and credential-shaped upstream error text are filtered before returning to clients.

Accounting safeguards

Database row locks coordinate balance reservations and settlement. Ledger records and payment-event identifiers prevent duplicate settlement and duplicate crediting. Stripe webhooks require signature verification, paid status, and amount matching.

Rate limits are an additional control, not the balance authority. Balance and monthly spend limits are enforced transactionally. Anomaly review and reconciliation are still necessary when a provider report is incomplete or a process fails.

Secure your own integration

  • Call the inference API from your server, not from untrusted browser code.
  • Keep API keys in a secret manager and out of analytics, URLs, and logs.
  • Use separate keys with appropriate spend limits per environment.
  • Validate and authorize all tool calls before execution.
  • Revoke exposed keys and review the organization’s usage.
  • Read the Privacy Policy and Terms of Service.