VAU0 Portal is built on a security-first architecture. HTTPS everywhere, Content Security Policy, cryptographic session management, bcrypt password hashing, role isolation, and full audit logging — across all three platforms.
Six layers of protection that work together to secure every request, every session, and every byte of data across the entire platform.
Every HTTP response from VAU0 includes these security headers. Verified on all three platforms.
| Header | Value | Purpose |
|---|---|---|
| Strict-Transport-Security | max-age=31536000; includeSubDomains; preload | Forces HTTPS for one year. Included in browser preload lists. |
| Content-Security-Policy | default-src 'self'; script-src 'self' [trusted]; | Prevents XSS by whitelisting allowed content sources. |
| X-Frame-Options | SAMEORIGIN | Prevents clickjacking by blocking iframe embedding from other domains. |
| X-Content-Type-Options | nosniff | Prevents MIME type sniffing. Browser trusts declared Content-Type only. |
| Referrer-Policy | strict-origin-when-cross-origin | Limits referrer data sent to external sites. Full URL only for same-origin. |
| Permissions-Policy | geolocation=(), microphone=(), camera=() | Disables browser APIs not used by VAU0. Reduces attack surface. |
Each platform operates in its own authentication universe. No cross-contamination, no privilege escalation, no shared state.
connect.sid
session cookie. User records live in the users table with bcrypt-hashed
passwords. Supports both local authentication and OAuth (Google, Microsoft). Role-based
middleware enforces access at the route level — admin, recruiter, dispatcher,
driver, and viewer roles each have distinct permissions. Session data includes user ID,
role, company association, and last-activity timestamp. Sessions expire after 24 hours
of inactivity by default.
req.session.carrier.
User records live in the company_users table — a different table
from portal users. Authentication is independent: a carrier user logging in does not
create or affect any portal session. Carrier sessions are scoped to a single company
— a user cannot access data from another carrier even if they guess the URL.
Company-level permissions (owner, admin, viewer) control what each carrier user can see
and modify within their own organization.
What data is protected, how it is protected, and what access controls are enforced.
Security is a foundation that supports every other feature in the platform.