Pythe

Security overview

How access is controlled, where secrets live, what an agent can and cannot reach, and what happens when something goes wrong. One page for the people who need to review it.

Updated 2026-10-13

This page collects the security facts that are spread across the docs. It describes what the code does. It is not a certification.

Access

  • Sign-in with Google or email and password. Email sign-ups confirm the address with a 6-digit code.
  • Row-level security in the database limits workspace data to you and the people you share with.
  • Every backend function authenticates the caller. Service jobs carry the founder’s id and only code holding the service key can act on their behalf.
  • Connecting Gmail is a connector, not a sign-in, so it cannot replace your session.
  • Outside AI apps connect with OAuth 2.1 and PKCE, are bound to one workspace you choose, and can be disconnected. See MCP: sign-in.

Secrets

  • Provider keys live in server secrets, never in the browser. The browser holds only publishable keys.
  • Connector tokens are used on the server only and removed when you disconnect.
  • API keys are shown once, stored as hashes with a short non-secret prefix, scoped, expiring and revocable.
  • No connector token enters an agent’s computer.

What agents can do

  • Local work on their own computer needs no approval.
  • Everything that sends, posts, publishes or changes something outside Pythe is an approval bound to a hash of its exact content.
  • Shell commands and custom-tool scripts that try the usual routes around an approval are refused in code.
  • Server fetches go to public addresses only and re-check every redirect.
  • Agents can only claim what tool results show, and the server decides the delivery verdict.

Reliability

  • Long jobs hold a lease and resume if a worker dies.
  • A request that is made twice returns the same job or run.
  • A scheduled sweeper recovers stalled work and closes dead approvals.
  • A lost acknowledgement never causes a second send.
  • Credits are reserved before a model call and per-task budgets stop runaway spending.

Reporting a problem

If you think your account has been compromised, change your password and tell us straight away from Feedback. The Privacy Policy lists how to reach us for data requests.

Related

·