Skip to content

Security & deployment

Your credentials. Your VM. Your audit trail.

Neo holds the keys to your carrier portals, so it is built as if that is the most sensitive thing in your office — because it is.

Controls

What protects what.

Credentials sealed at rest

Portal logins, service keys and mail settings are stored AES-256-GCM encrypted in your database and unsealed only by a master key your deployment holds. Nothing lives in a plaintext env file.

Per-client API credentials

Every machine caller carries its own identity and secret pair, verified against the database on every request. There is no shared key to leak, and a revoked client stops within seconds.

Owner-scoped dashboard

Operators see the requests they made; admins see everything. A foreign request answers 404 exactly like a missing one — on the page, on every download and on every mutation.

Audit trail on every run

Request → execution → response, with the portal capture taken at extraction time. A number on a report can always be traced back to what the portal showed.

Letters only under a complete identity

Outbound billing letters and chassis release requests are signed with the company profile and refuse to send until its legal identity is complete. TEST mode is the default and cannot reach a real recipient.

Outbound downloads are allow-listed

Any document URL Neo is asked to fetch is checked against a host allow-list twice: when the request is validated and again on every redirect hop.

Single-tenant by construction

One image, one database, one Redis per customer on a VM you control. Your data never shares a process with anyone else's.

Backups you can restore in one line

A sidecar dumps the database on a schedule, verifies the dump is complete before it rotates anything, and keeps the archive outside the containers.

Deployment

Runs where you say it runs.

No shared cloud tenancy, no data leaving your perimeter to be processed. A deploy is a tag; a rollback is the previous one.

One image per tenant
The app, its database, Redis, an HTTPS proxy and a backup sidecar come up from one compose file on a VM you own. Nothing is installed on the host but Docker.
Migrations run on start
Every release applies its schema changes before the server accepts traffic. Migrations are forward-only; a rollback is the previous tag put back.
Automatic HTTPS
The proxy issues certificates itself — its own authority for an internal hostname, a public authority for a public one.
A first-run wizard, then closed
On a fresh environment the first visit lands on a one-time setup that takes the company profile, service keys, users, portal credentials and tariff rules from one workbook — then shuts permanently.
Health you can probe
A liveness endpoint, a deep readiness check that exercises the database, the queue and a worker, and a release string baked into the image so what is running is never a guess.
Test mode by default
Modules that reach an outside party — billing letters, chassis release requests — start in TEST and cannot send to a real recipient until LIVE is switched on deliberately.

Get started

Give your dispatchers their day back.

A thirty-minute walkthrough on your own Chicago lanes and carriers. We will show a live trace on one of your ramps, a scheduled watchlist and the dashboard your team would open every morning.