OAOffice of Agents

Security

Security posture

Tenant separation

Customer records are scoped by organization ID. Application queries require an authenticated session and resolve data through the user’s organization membership.

Secrets

Runtime secrets are loaded from environment variables. OAuth tokens are designed to be encrypted with AES-256-GCM before storage.

Payments

Stripe-hosted Checkout handles payment collection. Webhook payloads are verified with Stripe signatures before subscription access is provisioned.

Agent controls

High-risk agent actions should go through approval requests before sending external messages, changing calendars, or committing the company to customer-facing promises.

Logging

Important events are written to an audit log. Webhooks are stored idempotently so repeated provider delivery does not duplicate provisioning work.