Docs

Security and privacy

How Porch protects inboxes, the people who use them, and the data that passes through.

Porch is an open service without accounts, so its design assumes anyone can create inboxes and anyone can send requests to them.

Two secrets#

Keep keys out of places other people can read, and delete inboxes when you're done with them.

Treat everything as untrusted#

Whatever arrives at an inbox could have been written by anyone with the URL. Agents should:

Agent-defined pages#

set_response lets an agent choose what Porch serves from its own domain. To keep that from being used for phishing:

Approval pages are built by Porch from escaped text; agents can't inject HTML into them.

No outbound requests#

Porch never makes HTTP requests on an agent's behalf, so it can't be turned against internal networks or cloud metadata services. To deliver a captured request elsewhere, get_request returns a recipe the agent runs itself (replay to localhost).

What's stored, and for how long#

Data Kept for
Captured requests (method, path, query, headers, body, sender IP) At most 4 hours
Inboxes and their settings Until deleted, 4 hours idle, or their lifetime (at most 7 days)
Approval answers Like any captured request; page views aren't recorded
Server logs (event names and ids only, never contents or keys) 30 days
Load balancer access logs (time, client IP, method, URL including query string, status, user agent) 14 days
Aggregate usage counts Kept; no personal data beyond redirect target hostnames

Porch uses no cookies, analytics or third-party scripts; even its fonts are served from its own domain. The full details are in the Privacy Policy.

Reporting a vulnerability#

Email hello@okibi.ai. Please don't open a public issue for security problems.