Public browsing and listing requests
DemoAPI.org does not use advertising trackers, marketing cookies, fingerprinting scripts, or a product analytics service in this release. Cloudflare may process an IP address, request path, browser details, and timing in ordinary delivery and security logs. Our fixture endpoints keep short-lived rate records to slow automated abuse.
The public listing form is separate from a Dispatch account. It stores the project name, public HTTPS URL, description, contact email, review status, and submission time. The submitted URL is stored as text for manual review. DemoAPI does not fetch it.
Google sign-in
Dispatch uses Google for identity. The sign-in request is limited to OpenID, email, and basic profile access. Google may send us a stable account identifier, email address, name, and profile image. We do not ask for Gmail, Drive, Calendar, contacts, or advertising access.
D1 stores the Google account link and profile fields. Provider tokens are encrypted when Better Auth receives them. The browser gets an HttpOnly session cookie; D1 stores its random opaque session token, IP address, and user agent. A session expires after 24 hours and has a six-hour update window. The opaque token is not hashed in the current Better Auth adapter, so database access is tightly scoped and expired session rows are removed by the hourly cleanup.
Stations, Recipes, Runs, and Receipts
A Station record includes its name, status, connector and Comfy versions, readiness, and recent contact times. DemoAPI stores a keyed verifier for the Station credential, not the credential itself. Pairing-code verifiers become unusable after 10 minutes or first use and are removed by the scheduled cleanup.
An Armed Recipe stores its public manifest, policy identifiers, revision, and fingerprint. A Run stores its typed inputs, including a prompt when that Recipe accepts one, plus queue state, bounded progress messages, events, errors, and the final Receipt. These owner-private records stay in D1 until account deletion. Receipts do not copy the prompt, local paths, raw logs, machine address, or secrets.
The free service does not send account, Recipe, Run, prompt, artifact, or Receipt data to an AI model. The planned setup assistant is not active.
Private files and retention
Artifact bytes are stored in a private R2 bucket. Downloads pass through an authenticated, owner-scoped route; the service does not issue a public or presigned artifact URL. Access stops at the displayed 24-hour expiry. An hourly job then deletes the R2 object before removing its artifact row, so physical removal can happen shortly after the displayed expiry.
Expired browser sessions, used or expired pairing-code rows, and rate records older than roughly 24 hours are removed by the same hourly job. Recipes, typed Run inputs, events, Receipts, account audit rows, and the Google account link remain until account deletion.
Delete a Dispatch account
The Settings page has a two-step account deletion control. Deletion first locks the account and revokes its Station credential. It then removes every R2 object under that owner before deleting the account link, sessions, Station, Recipes, Runs, events, Receipts, artifacts, and account audit rows from D1.
If R2 or D1 is temporarily unavailable, the account stays locked with Station access revoked. The owner can retry the same deletion safely. Deleting a cloud account does not uninstall the connector or remove models, outputs, or other files from the owner’s computer.
A public listing request is a separate record. Contact us if you also want that submission corrected or removed.
Hosting and contact
The site, D1 database, and private R2 bucket run on OpenAI Sites and Cloudflare infrastructure. Those providers process the data needed to deliver and protect the service under their own terms. DemoAPI.org is operated by AI Embedded Systems in the United States.
Questions or deletion requests can be sent to sohagan@aiembeddedsystems.com. You can also read the security contact note.