Data handling · reviewed September 27, 2026
Your account
with clear boundaries
This community service connects an AI client to the Trakt API. Its publisher is SwackTech LLC, as identified by the owner, and it is not affiliated with Trakt, Anthropic, or OpenAI.
What passes through the service
Your client sends tool arguments such as a title query, media type, filter, item identifier, or requested write body and a connection credential. The service sends the needed API requests to Trakt and returns metadata, account records, or operation results to your client. Authorized writes can change lists, watchlists, watched history, ratings, collections, or other supported Trakt resources. The assistant receives the result in your chosen client. The plugin does not need your private files or unrelated conversation history.
Trakt handles your password and device-code approval on its own website. The service receives Trakt access and refresh credentials after approval; those credentials are not returned to the assistant. Device codes are temporary authorization material and should not be posted publicly.
Storage and isolation
Each authorized connection has a separate Cloudflare Durable Object. It holds upstream tokens, hashed plugin credentials, OAuth state, and rate-limit state. A Cloudflare KV namespace also holds a best-effort copy of the upstream tokens with a 30-day TTL. The app does not add its own encryption layer to token values; storage security and encryption at rest are managed by Cloudflare.
Reads fetch Trakt records, and requested writes update Trakt. The service does not keep a separate viewing-history database or local library copy. The token and connection storage model is unchanged by write support. Your AI client may retain returned results in its conversation history under that provider’s policies.
Permission and changes
Browser OAuth consent identifies the requested read and write scopes. A read-only grant cannot call write operations; refresh preserves its scope. A write also needs explicit user intent, represented by confirmed: true. This control does not promise that every mistaken change can be undone. After an uncertain failure, inspect the account state before repeating a mutation.
Expiration is not deletion
Access and refresh credentials expire, but Durable Object records do not currently have an automatic deletion schedule. The KV TTL does not delete the authoritative Durable Object. Do not assume that uninstalling the plugin, disconnecting the client, or waiting for token expiry erases server-side data.
Authenticated DELETE /auth/session deletes that connection’s app storage and its KV token copy. Each separate connection must be deleted separately. It does not erase client conversation history or revoke the upstream Trakt grant; revoke the app in Trakt account settings as well. Provider backups and operational retention are outside the app’s deletion code and are not represented as instantly erased.
If you have lost access to a connection, use support to request a safe recovery/deletion process. Do not post credentials or personal history in a public issue. Use [email protected] for security-sensitive communication. The operator’s retention policy and legal notice still require final owner review before directory submission.
Logs and third parties
App code does not intentionally log request bodies or credentials. Cloudflare observability is enabled and traces are sampled; the hosting provider can process network addresses, request metadata, and operational logs. No unverified retention duration or no-logging guarantee is made. Trakt and the AI client independently process the data sent to them.
Read the Cloudflare privacy policy, Trakt privacy policy, and your AI client’s privacy settings and policy. This page documents the app’s behavior; it does not replace those policies or an owner-reviewed privacy notice.