ENGINEERING VERSION LOG · 2026.07
API isolation and the private inference boundary
Clients may call the product API, but they must never receive private credentials for inference nodes, payments, or model providers.
01 · CANONICAL BOUNDARY
Every new client recognizes one product entry point
Authentication, licenses, AI editing, cloud ASR, model registry, checkout, and the Dodo webhook all belong to inktyper.ledgendaryanimal.top/api/*. New clients do not mix root-domain or other product APIs.
02 · PRIVATE INFERENCE
The GPU node is not a client API
inference.ledgendaryanimal.top accepts calls only from the InkTyper Worker with an internal token. Public clients receive no DeepSeek, OpenAI, Dodo, or inference-node credentials.
Client→InkTyper API→Private token→GPU node03 · COMPATIBILITY
Legacy routes exist only during migration
Older api.ledgendaryanimal.top and root-domain routes temporarily reach the same Worker. They are removed only after telemetry shows that supported clients no longer use them.
04 · FUTURE PRODUCTS
Products do not share security boundaries
- Separate Worker.
- Separate database and secrets.
- Separate session tokens and quotas.
- Separate payment webhook.
- Logs include product, endpoint, request ID, and client version.
EVIDENCE · DIAGNOSIS
What the evidence establishes—and what it does not
Clients see only the product API. Identity, plan, quota, model authorization, and idempotency are enforced at the edge gateway. GPU nodes are an internal execution plane that accepts service credentials; inference tokens, Dodo secrets, and AI-provider keys never reach clients.
OPERATIONS · OPEN WORK
Failure behavior and the next verification gate
A public API ultimately needs per-user keys, hashed storage, scopes, limits, revocation, rotation, and audit. Compatibility domains remain only until telemetry proves supported clients have stopped using them; removal should follow a version gate rather than intuition.
- Failure visibility
- Every fallback needs a reason code and stage timing. A successful final transcript must not erase evidence that real-time, AI, or paste failed first.
- Release evidence
- Keep request ID, actual model, node, queue, upload, ASR, AI, and delivery timing together so a regression can be reconstructed end to end.