Legal

Privacy Policy

Last updated · April 22, 2026

This Privacy Policy describes how Skeleton ("we", "us") collects, uses, and shares information when you use the Skeleton service — the macOS application, the web dashboard at supaskel.dev, and the API at api.supaskel.dev.

1. What we collect

Account information

When you create an account we store your email address and a hashed password via Supabase Auth. We also create a profile row (display name, optional preferences) and a default personal space.

Connector credentials

When you connect a third-party service (Gmail, GitHub, etc.) we complete the OAuth 2.0 authorization code flow and store the resulting access and refresh tokens, encrypted at rest with Fernet (AES-128-CBC + HMAC-SHA-256) in our Supabase Postgres database. We rotate refresh tokens on use and serialize the rotation with a per-connection lock.

Tool-call metadata

Every request an AI client makes through Skeleton is recorded as an access request row containing: the tool name, a redacted summary of the arguments, the space it ran in, your approval decision, and a hash of the response. We use this to power the Activity log in the app and to enforce always-allow / always-deny rules you configure. The actual tool-call payload (message bodies, file contents, etc.) is not persisted.

Memory you author

Memories you explicitly ask an AI client to save are stored on our Supabase PGVector backend. Memories are per-space, fully user-editable, and can be deleted via the dashboard or the MCP delete_memory tool.

What we do not collect

Skeleton does not ingest your inbox, calendar, drive, or other provider content into our database. Tool calls are proxied live with your bearer token on each request; the provider serves the data to your AI client through us, and we do not keep a copy.

2. How we use information

We use the information above only to provide the Skeleton service: authenticating you, routing OAuth flows, proxying AI tool calls to the right provider on your behalf, enforcing your approval rules, and surfacing Activity and Memory in the macOS and web clients. We do not sell your data, share it with data brokers, or use it for targeted advertising.

3. Google API Services — Limited Use disclosure

Skeleton's use and transfer of information received from Google APIs to any other app will adhere to Google API Services User Data Policy, including the Limited Use requirements.

Specifically, Gmail data accessed through Skeleton is used only to provide user-facing features that you have explicitly requested — namely, proxying AI tool calls you have approved through the macOS approval gate. Skeleton does not use Gmail data to train generalized or third-party AI/ML models, serve advertisements, or transfer Gmail data to third parties for any purpose other than fulfilling your request through the AI client you initiated the request from.

4. Sharing

Tool-call results flow to the AI client you authorized (for example, Claude Desktop, Claude Code, Cursor). We use the following processors to run the service:

  • Supabase — Postgres, auth, storage
  • Railway — API hosting
  • Vercel — web dashboard hosting
  • OpenRouter — the LLM used for memory ingestion and recall

Each processor handles only the minimum data required to deliver its function. We do not share your data with any third party for their own purposes.

5. Retention

Account and connector data persist while your account is active. When you delete a connector, we revoke its stored credentials immediately. When you delete your account, we remove your profile, spaces, memories, connector registry rows, encrypted credentials, and access-request history within 30 days.

6. Security

All traffic to and from Skeleton uses TLS. OAuth tokens are encrypted at rest with a server-held Fernet key. We use Supabase Row-Level Security to ensure users can only access their own rows. The MCP authorization server uses OAuth 2.1 with PKCE, JWKS-verified access tokens, and rotating refresh tokens.

7. Your rights

You can at any time:

  • View and delete memories via the dashboard or MCP tools
  • Disconnect any connector to revoke its stored credentials
  • Revoke Skeleton's access from the provider directly (for example, Google account permissions) — the next tool call will surface a reconnect prompt
  • Delete your account by emailing us at the address below

8. Changes

We will update this policy as the product evolves. Material changes will be communicated via the address on your account and announced in the web dashboard changelog.

9. Contact

Questions? Email matthew@temporarystudios.com.