Security
How your records are handled.
Written for the person who has to sign off on this before the fleet moves over, including the parts that aren't finished.
Authentication
- Passwords
- Hashed, never stored in plaintext, never logged. Password reset is token-based with a short expiry.
- Google sign-in
- OAuth 2.0. If the Google address matches an existing account we link them rather than creating a duplicate.
- Sessions
- Server-side, stored in Redis with a 24-hour sliding expiry. Deactivating a user kills their live sessions immediately rather than waiting for expiry.
- Email verification
- Required before a new account can sign in. Resend is rate-limited.
Separation
- Multi-tenancy
- Every record is keyed to an organization. Queries are scoped by organization at the data layer, not filtered in the UI.
- Authorization
- Checked in middleware on every incoming request against the user's roles in the organization they're currently viewing, not the one they last logged into.
- Roles
- System roles plus custom roles per organization. Additive. An organization admin cannot grant themselves system-wide access.
Data
- Documents & photographs
- Stored in object storage, served through the application rather than from a public bucket.
- Vehicle data
- VIN decoding uses the NHTSA vPIC API, a public US government service. We cache responses. Your VIN is sent to that service to decode it.
- Export
- Full export in open formats on every tier, including free.
- Deletion
- Ask and we delete. Not deactivate, not archive.
Not done yet
What we haven’t built.
No SOC 2, no ISO 27001, no penetration test report. MotorStable is pre-launch and small. Claiming otherwise would be a lie you could check.
Multi-factor authentication and SAML are not shipping. Both are on the roadmap. If MFA is a hard requirement for your organization today, we are not the right fit yet, and we would rather you knew now.
Rate limiting and audit logging are specified and partially built, not finished.
If you have a security question this page doesn’t answer, ask. We will give you a straight answer, including “we haven’t done that.”