A broker leaves your team
Disable their account in /app/team. They lose access immediately. Their assigned leads are reassigned. Their audit trail stays.
Per-brokerage isolation, encryption at rest, audit log on every action, and a permission matrix tested in CI. The security model is opinionated and visible — not hidden behind a "trust us" page.
Brokerage isolation
Postgres Row-Level Security enforces tenant_id on every read and write. Even an admin connecting directly to the DB cannot see another brokerage's data without explicitly switching context. Audited in CI: cross-brokerage deep-dive runs every PR.
Encryption
API keys, OAuth tokens (Google, FUB, BrokerMint), webhook secrets — encrypted at rest with AES-256-GCM. Keys are scoped per brokerage and never logged. Encryption key rotation supported without downtime.
Audit log
lead_event captures every state change, every mutation, every signal extraction with payload-before + actor + batch_id. Rolling back a batch is a single query. Owner sees the full timeline of every lead.
Permission matrix
Three personas (platform_admin, owner, broker_agent) × every resource × every action = a matrix tested in CI. Every PR runs permission-matrix.sh to ensure no privilege escalation slipped in. Owner sees the matrix in /admin.
Concrete guarantees — not vague compliance buzzwords.
Disable their account in /app/team. They lose access immediately. Their assigned leads are reassigned. Their audit trail stays.
Even if both are on the same DB cluster, RLS makes cross-brokerage reads impossible. Vendors cannot peek either.
Every action is logged. Filter by lead, broker, date range — get the full timeline including what the AI did and why.
NAR / state regulator asks for proof of communications. Export lead_event for any lead, any date range.
Lead asks to be forgotten. One endpoint: anonymizes PII, preserves audit log per legal requirement.
Suspect a credential leaked? Rotate encryption keys with zero downtime. All re-encrypted in place.
Sign up to see the audit log and permission matrix in your own account.