Tenant and role controls
Domain records carry a tenant identifier. Authenticated requests resolve the workspace server-side and permission middleware protects sensitive actions.
Security model
How DetailOAR scopes data, authorizes actions, protects sessions and media, verifies payments, records audits, and fails closed in production.
Domain records carry a tenant identifier. Authenticated requests resolve the workspace server-side and permission middleware protects sensitive actions.
Passwords are salted and hashed, session tokens are hashed at rest, cookies are HttpOnly and Secure in production, and optional TOTP protects admin access.
Payment bodies are verified with provider signatures before parsing, financial events use idempotency keys, and platform billing is separated from a detailer’s customer payments.
Uploads are type- and size-checked, stored by tenant and record, and served through authorization or unguessable access. Public storage is not appropriate for private customer images.
The application refuses normal production traffic when cryptographic secrets are unsafe or durable Postgres is missing. External providers remain visibly unconfigured until connected.
Email security@detailoar.com with a concise reproduction. Do not include unnecessary customer data.