Fast receiver
Verify, validate, persist or enqueue, and return a direct 2xx. Do not run
customer billing logic inside the delivery request.
The platform has three separate credential domains. Keep them separate in storage, logging, and incident response.
| Credential | Used for | Never send it to |
|---|---|---|
| Operator session and 2FA | Vue 3 admin access | Customer code or proxy gateway ports |
| JWT or static API key | Public control-plane API | A proxy username, browser bundle, or customer-visible log |
| Proxy username and password | HTTP/SOCKS gateway authentication | The REST API Authorization header |
Open full sizeCreate separate keys for production, staging, and bounded operational integrations.
Use a static API key only from a trusted backend. Give each application and environment its own key, apply the narrowest source-IP range, and keep it in a secret manager. If a deployment supports scoped capabilities for the key or owner, grant only the operations that integration requires.
The full value may be available only once. Never depend on listing the resource to recover a lost secret.
Open full sizeWebhook rows make event scope and destination ownership visible to operators.
The webhook create response returns a signing secret. Save it immediately; subsequent list/retrieve responses intentionally do not reveal it. Verify X-Signature against the exact raw request bytes with Base64-encoded HMAC-SHA256 before parsing or enqueueing the body.
Fast receiver
Verify, validate, persist or enqueue, and return a direct 2xx. Do not run
customer billing logic inside the delivery request.
Idempotent consumer
Retries and coalesced batches are expected. Reprocessing the same balance must not grant data or charge money twice.
Independent reconciliation
Webhooks update a projection quickly. Closed analytics windows and durable order/ledger state repair missed or ambiguous delivery.
Create named operator accounts instead of sharing one administrator login. Require 2FA for privileged users, separate support/billing/supply/infrastructure duties where practical, and review active sessions after staff or vendor changes.
The audit log should answer who changed a package, provider, pool, customer balance, key, webhook, or setting; what changed; when; and from which request context. Request IDs and user IDs belong in server logs for incident correlation, but customer-facing tables should show business labels where possible.
For API headers and schemas, use API fundamentals and the generated API Reference.