Skip to content

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.

See your own loads run through the checkpoints.

Bring a real lane, a real rate con and your current process. We will walk it through FreightVero and tell you plainly what is live and what is not.