Security
Designed around narrow trust.
The app accepts one constrained JSON contract, keeps providers behind explicit boundaries, and treats the database as the delivery ledger.
Credentials
Ingestion credentials contain 256 bits of randomness, expire after 90 days, are revealed once, and are stored only as HMAC-SHA-256 hashes with a dedicated server-side pepper. Each credential can only submit data for one user; it cannot read briefing or account data.
Secure agent handoff
Setup instructions never contain the credential. Enter it only through your agent’s masked secure-secret field. If a credential appears in ordinary chat, a command, a file, a URL, or a log, rotate it immediately in Settings.
Delivery integrity
Database uniqueness, atomic work claiming, expiring leases, and provider idempotency protect against duplicate sends. Signed webhooks are deduplicated, minimized before storage, and processed by provider timestamp.
Content safety
Agent text must be plain text. HTML and Markdown are rejected, links must use HTTPS, and React escapes all rendered content.
Working beta policy · Updated September 4, 2026