Skip to content

Security

TMS security: what's in place and what's next

Your loads, rates and carrier records are the business. Here’s how FreightVero protects them today, and what’s next on our security roadmap.

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're working toward

These are next on our security roadmap. We’re pursuing each one and will update this page as they land.

  • SOC 2. SOC 2 is on our roadmap, and we’re working toward a report.
  • Independent penetration testing. A third-party penetration test is on our roadmap.
  • Single sign-on (SSO) and multi-factor authentication (MFA). Both are on our roadmap.
  • Point-in-time recovery. Backups run daily today. Restores to a specific moment between backups are on our roadmap.
  • Uptime SLA and a public status page. Both are on our roadmap.
  • Deeper role permissions. There are four roles today (Admin, Operations, Sales and Billing), and we’re extending what each one can see and do.

If your customers or insurer ask for any of these, bring it up on the demo and we’ll walk you through where each one stands.

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, email support@freightvero.com or use 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 roadmap above, and answer what this page doesn’t.

Frequently asked questions

Is FreightVero SOC 2 compliant?

Not yet. SOC 2 is on our roadmap, and we're working toward it. If your customers or insurer require SOC 2 from software vendors, bring it up on the demo and we'll walk you through where it stands and the controls in place today.

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.