Security
Honest account of how CloseKit protects your data — written for buyers, not auditors.
What's in place today
- API authentication: every non-public API endpoint requires your firm's API key (
X-API-KeyorAuthorization: Bearer). Keys are stored only as SHA-256 hashes; firms can only ever see their own clients, closes, and tasks. - Secrets management: credentials and keys are configured via environment variables — nothing is hardcoded, and sample configs ship without real values.
- Transport: the service is designed to run behind TLS; we terminate HTTPS at the reverse proxy and never accept credentials over plain HTTP in production.
- Payments: checkout and card handling are done by Stripe; card numbers never touch our servers.
- Input validation: every endpoint validates and bounds its inputs; malformed requests get a
400, never a stack trace. - Logging: structured logs for operations and security events; no secrets or keys are written to logs. Every workspace state change is also kept in your close audit trail.
What we don't claim
- We are not SOC 2 certified and have not completed a third-party penetration test. We'll say so plainly until we have.
- Single-node data store in v1 — back it up daily. Multi-region replication is a later milestone.
- Reminder emails are dispatched through your mailbox or sending provider in v1; CloseKit computes and records the queue.
Report a vulnerability
Email don+closekit@lifeofmorr.com with details. We aim to acknowledge within 2 business days.