Skip to content

Trust at Agent402.

How the hosted service handles data and incidents. Each statement links to the page, the live surface or the code that shows it.

Subprocessors

These providers receive buyer data, each only for the purpose listed. The privacy policy describes each in full.

CategoryProviderWhat it receives
Hosting and backup storageRailwayEverything the service stores, and the nightly backups (encrypted before upload)
Network edgeCloudflareEvery request to the site and its answer, with the caller's IP address and request headers, on the way to and from our server
Card paymentsStripeCard details on its hosted checkout, the email entered there; when the optional Stripe ledger mirror is on, settled on-chain payments (wallet address, transaction id, amount) for bookkeeping, with no email or card data
Transactional emailZeptoMail, with Resend as a fallbackThe address and the message: report links, monitor reports, alerts
AI modelsOpenAI, and model operators via OpenRouterPrompts and inputs to the /v1 endpoints, model-backed tools and report synthesis
Web search and dataBrave Search API, Exa, the X APIThe query, URL, handle or post id a search tool is given
Code sandboxE2BThe code sent to the code-run tools
Tool routingTypeSafeThe task text given to route and decide
Payment verificationCoinbase CDP and per-chain facilitators, Tempo's relayThe signed payment, to verify and settle it
Sanctions screeningTempo's transfer data feedA paying wallet address, to read its recent inbound transfers
Site analyticsGoogle Analytics (advertising features off), PostHogPage visits and browser details, relayed to PostHog by our server without your IP address. PostHog also receives the server's service events: tool name, HTTP status, price, settlement chain, the paying wallet address, the first word of the caller's User-Agent, a keyed hash of one declared input field and our error message
Batched paymentsCircle GatewayA batched payment, verified and settled off chain

A tool that fetches a URL or reads a public data source sends that site what the lookup needs. When route-and-execute or a decision buys from an outside seller to resell its answer, that seller receives the request it needs to answer, sent and paid for by us.

What we store, and where

StoreWhat it holdsKept
State database (Postgres)The sales and refund ledgers, card-purchase records, monitor and alert subscriptions, wallet-keyed memory, async job and task resultsPer record class, as the privacy policy lists
RedisShared rate-limit and free-trial counters, the cached answer to an identical retry, and a money record whose database write has not landed yetCounters for their window (one hour, or 24 hours for the free trial's daily allowance); cached answers up to 10 minutes; a money record until its database write commits
Backups (separate object storage)A nightly copy of the state database14 days
Operational logsRequest paths and status codesThe hosting platform's log retention

No accounts and no passwords. Tool inputs are processed in memory and not stored, except where the privacy policy says otherwise.

Encryption

In transit: every answer carries Strict-Transport-Security: max-age=63072000; includeSubDomains; preload, so a browser that has seen it reaches agent402.tools over HTTPS only, for two years.

At rest: each backup object is encrypted on our server with AES-256-GCM before upload, so the storage holds ciphertext. In production the backup word on /api/gateway-status reads unencrypted if the key is missing, and that pages. A prepaid credits key is stored only as a hash. Links we email (confirmations, unsubscribes, monitor management) are HMAC-signed with dedicated secrets and verified in constant time.

Backups and restore tests

The server copies every table of the state database to separate object storage once a night, in one consistent snapshot, starting at 04:00 UTC, and deletes each copy after 14 days. The backup word reads stale when no run has succeeded in 26 hours, and failed or held when a run did not finish; both outside observers page on each word.

Every change runs the restore tests before it merges: one decrypts and restores every object shape the nightly run writes, another restores state tables into a fresh Postgres schema and checks they come back equal.

Incidents and status

/status shows only what two observers outside production saw: a scheduled heartbeat and an outside probe that runs every five minutes. A day with no observation shows as no data. Service alarms are public words on /api/gateway-status, and the observers page the operator on the ones that need a person, one issue per alarm.

A paid call that was charged but failed is recorded as a debt in the refund ledger and repaid only after the charge is proven on chain. Once a debt has waited past a short grace period, the refundsOwed word reads owed and pages until it is repaid. A card report that fails to generate is refunded to the card.

Security reports

Report a vulnerability through a private advisory on GitHub or by email to mike@agent402.tools. We acknowledge within two business days, fix through the same CI pipeline every change goes through, and note the fix in the changelog once it has shipped. Every heartbeat checks for reports waiting in triage and raises an alert past a set limit.