Security
TMS security: what's in place and what isn't yet
Your loads, rates and carrier records are the business. Here’s how FreightVero protects them today, and a plain list of what we haven’t built yet.
What's in place today
Rules enforced in the database Live
Load status changes run through one database function, and the status column is protected. The app, an integration and someone with a database connection all face the same checkpoints.
Company data isolated at the database level Live
Row-level security is on every table, and every policy filters on the company that owns the data. Isolation is enforced by the database itself.
Cross-tenant isolation is tested, not assumed Live
A test suite runs a second brokerage against a database already full of another brokerage’s loads and asserts it can see nothing. It runs as a real signed-in user with a real token, not as a privileged account that would skip the rules it is there to check.
Functions check ownership before they act Live
The document and tracking functions verify the caller owns the row before they do anything. A signed-in user at one brokerage can’t reach another brokerage’s rate confirmation or start tracking on their freight.
Integration credentials held per brokerage Live
Each brokerage holds its own Load Market and BigRoad credentials, entered in its own settings. One company’s keys are never shared with another.
Append-only audit log Live
Each entry records who, what, when, and the before and after values. The database blocks edits and deletes on the log, by the app, an admin, or anyone with a database connection.
Private document storage Live
Rate cons, BOLs, PODs and photos sit in private storage. Files open only through links that expire.
Daily backups Live
The database is backed up automatically every day.
How it's built
FreightVero’s web app runs on Vercel. The PostgreSQL database, sign-in, file storage and server functions run on Supabase, in a US East region.
Business rules live inside the database as constraints, triggers and functions. That’s a security choice as much as a workflow one: a rule that lives in the database holds no matter which screen, integration or script touches the data. We explain the reasoning in why we put TMS rules in the database.
A few other choices follow from the same idea. Users are deactivated instead of deleted, so their history stays attached to the loads they touched. Rate confirmation versions can’t be edited or deleted. Load numbers are assigned once and never change.
What we don't have yet
FreightVero is new, with one design-partner customer. Security reviews go faster with a straight list of the gaps, so here it is. Some, like SSO and MFA, are on the roadmap. None has a promised date.
- No SOC 2 report. We haven’t started a SOC 2 audit.
- No independent penetration test report.
- No single sign-on (SSO) or multi-factor authentication (MFA). Sign-in is email and password today.
- No point-in-time recovery. Backups run daily, and we don’t offer restores to a specific moment between them.
- No uptime SLA and no public status page.
- Limited role permissions inside a company. There are four roles (Admin, Operations, Sales and Billing), and we’re still extending what each role can see and do.
If your customers or insurer require any of these from software vendors, FreightVero may not meet that requirement yet. Better to know that before the demo than after.
AI features and your data
FreightVero’s in-app help chat and the AI load intake engine in development use Anthropic’s Claude models. The help chat is read-only. It answers from our help docs and the load data the signed-in user can already see, under that user’s own permissions.
The AI load intake engine drafts a load from a document and never creates one without a person confirming it. Its review screen hasn’t shipped yet.
Reporting a security issue
If you find a vulnerability, or have a security question before you buy, reach us through the contact page. Tell us what you found and how to reproduce it, and we’ll follow up with you directly.
Bring your security questions to the demo
We’ll walk through data isolation, the audit log and the gaps above, and answer what this page doesn’t.
Frequently asked questions
Is FreightVero SOC 2 compliant?
No. FreightVero doesn't have a SOC 2 report, and no audit is underway. If your customers or insurer require SOC 2 from software vendors, FreightVero doesn't meet that requirement today, and we'd rather you know before a demo than after one.
Where is my data stored?
In a PostgreSQL database on Supabase, in a US East region, with documents in private storage that opens only through expiring links. The FreightVero web app itself is hosted on Vercel. Daily backups run automatically.
Can anyone delete the audit history?
No. Audit log entries can't be edited or deleted by anyone, including admins and anyone with a direct database connection. Users are deactivated rather than deleted, so the record of what they did stays attached to the loads they touched.
How are documents shared outside FreightVero?
Documents sit in private storage and open through signed links that expire after a short time, so a forwarded link stops working. There's no public link to a document that stays open indefinitely.