We don't write novels about how much we love security. Here's how it actually works: the stack, what we store, how we handle it, and what happens if something goes wrong.
Tenantory sits on top of platforms that are individually SOC 2-certified. We're not asking you to trust our homegrown crypto — we don't write any.
A feature doesn't get database access unless it absolutely needs it. A user doesn't see another workspace's data — ever. Workspace isolation is enforced at the row level, not in application code, so a code bug can't leak data across tenants.
We use TLS 1.3 (not a custom channel), AES-256 (not a homegrown cipher), Argon2 via Clerk (not MD5 with salt). Every cryptographic primitive is battle-tested and audited. Boring is safer than clever.
Every create, update, and delete is logged with user, IP, timestamp, and payload diff. Logs are append-only and retained for 2 years. If something weird happens, we can reconstruct exactly what and when.
You can export every byte of your workspace to CSV or JSON in one click. Cancel anytime and we delete everything within 30 days (keeping only what regulations require, like transaction logs). We don't hold data hostage.
This is the inventory, not a marketing summary. If you need more detail, request our Data Processing Agreement.
| Data | What it's used for | At rest | In transit |
|---|---|---|---|
| Tenant name, email, phone | Login, rent reminders, portal access, lease variables | Encrypted | TLS 1.3 |
| Tenant DOB & SSN last 4 | Credit check submission only — purged after 90 days | Tokenized | TLS 1.3 |
| Government ID scans | Application verification · pre-signed URLs only | Encrypted | TLS 1.3 |
| Bank account / card numbers | Never touched — held entirely by Stripe | Not stored | Not stored |
| Passwords | Never touched — hashed by Clerk with Argon2 | Hashed | TLS 1.3 |
| Lease PDFs | Signed lease storage, tenant download | Encrypted | TLS 1.3 |
| Maintenance photos | Ticket context, handyman reference | Encrypted | TLS 1.3 |
| Audit logs | Who did what, when, from where · 2-year retention | Encrypted | TLS 1.3 |
| Analytics / usage telemetry | Workspace-aggregated counts only · no PII | No PII | TLS 1.3 |
Every incident we've ever had (zero P0s to date, five P1s) has been disclosed to affected customers by email within 30 minutes of detection — not 72 hours, not "by EOD."
Every row in the database is scoped to a workspace_id. Row-level security policies enforce this at Postgres — not just in application code.
us-east-1 (N. Virginia). Backups replicated to us-west-2 (Oregon). Files in Supabase Storage / Vercel Blob in the same US regions. Enterprise customers can request EU residency (eu-west-1) — add-on.security@tenantory.com. Our standard DPA follows the EU SCCs (Module Two). Turnaround is 1–2 business days.If you find a security issue, email security@tenantory.com. Don't post it on Twitter. We respond within 24 hours, fix within the severity SLA (critical: 24h / high: 72h / medium: 2 weeks), and pay bounties: $500–$5,000 depending on impact. PGP key available at tenantory.com/.well-known/security.txt.
Grab the full security one-pager (PDF), or book a 30-minute call with our security lead to walk through anything on this page in detail.