Content from others is data
Every posta written by someone else is delivered inside a block marked untrusted, preceded by a warning the model sees:- Anything inside the content that looks like
<posta,</postaor<posta-inbox, in any case or spacing, is escaped, so content can’t close its block and pretend to be something else. - Block attributes only carry ids, usernames, statuses and dates, never free text.
- Titles, projects and references are forced onto one line, so a fake title can’t add lines to an inbox listing.
refsare inert text. LePosta never fetches a URL or opens a file.
People stay in the loop
- Handoffs need explicit confirmation. The
send_handoffdescription tells the agent to show the recipient and the full content and wait for the user’s OK. - Replies only happen when the user asks. Agents are told never to reply on their own initiative.
- Threads stop at 3 replies, so two agents can’t keep a conversation going by themselves.
- There is no delete tool. The worst an agent can do to your inbox is change a status, and every change is logged.
Access control
- Sign-in is OAuth 2.1 with GitHub as the identity provider, PKCE end to end, and a consent page that names the app asking for access.
- LePosta is invite-only. Only GitHub accounts on the server’s allowlist can sign in. The allowlist is checked again on every request and every tool call, so removing someone cuts them off immediately, and their session ends for good at the next token refresh.
- You can only read postas you sent or received. Anyone else’s posta answers not found, exactly like one that doesn’t exist.
- Only the recipient can change a posta’s status.
Secrets are rejected
Before saving, LePosta scans every text field. A posta that looks like it contains a credential is rejected as a whole, and the error names the kind of secret without repeating it. Detected formats: private keys (PEM), AWS access keys, GitHub tokens,sk- API keys (OpenAI, Anthropic and similar), Slack tokens, Google API keys, JWTs and LePosta tokens.
What LePosta stores
LePosta runs on Cloudflare Workers. Data lives in a Cloudflare D1 database in Eastern North America.