Skip to content

Optivis CMSSecurity

Your data, kept separate, backed up and yours to take.

Optivis CMS is a cargo management system (CMS) that many forwarding companies share, so keeping each company's data apart is built into the database, not left to the app alone. Here is how it works, where it runs, and what we don't claim.

Early access opens soon: a 14-day free trial of Pro, no card needed

01

The short version

Security facts for Optivis CMS
HostingA ReadyServer virtual private server in Singapore
Workspace isolationPostgres row-level security on every workspace table, checked by an automated isolation test suite
BackupsNightly, encrypted with AES-256 and copied to storage in another location; restores are rehearsed monthly
Optivis staff accessOnly when your administrator allows it: 24 hours, can be ended at any time, recorded in your audit log
Your dataExport everything as one zip at any time
DeletionOnly when an administrator asks, 30 days later, and it can be cancelled until then
CertificationsNone yet: no ISO 27001 or SOC 2 today

02

In detail

Each company's workspace is kept apart

Every company's data carries its workspace, and the database itself refuses to show one workspace's rows to another.

  • Row-level security is on for every workspace table in Postgres. The app connects as a database role that row-level security always applies to.
  • Each request runs in a transaction that first sets the workspace; a query without one fails rather than running unscoped.
  • Database triggers set a child record's workspace from its parent, so a record can't be attached to another workspace's shipment or invoice.
  • An automated test calls every API route as one workspace with another's record IDs and fails if anything is revealed, changed or linked. It's generated from the list of routes, so a new route can't skip it.
  • Each workspace has its own address, and sign-in sessions belong to that address alone: a session presented on another workspace is refused.

Hosted in Singapore

Optivis CMS runs on a ReadyServer virtual private server in Singapore, as one Docker Compose stack: the web app, a background worker, Postgres and Redis.

  • The app listens only on the server itself; Caddy, in front of it, serves every address over HTTPS with a certificate for *.optivis.co.
  • Uploaded documents are kept on the server's own storage or in private S3-compatible storage.
  • Secrets for your mail server and Xero connection are stored encrypted, and passwords are stored as bcrypt hashes.

Encrypted backups, off the server

Every night the database and uploaded files are backed up, encrypted with AES-256 and copied to storage in another location. The encryption key is kept off the server.

  • A restore is rehearsed every month: the newest backup is restored into a scratch database and checked.
  • Backups roll over, so deleted data leaves them as old backups expire.

Optivis staff, and when they can see your data

Optivis staff can't open your workspace unless one of your administrators allows it. Access lasts 24 hours, is view only unless you also allow changes, and you can end it at any time.

  • Everything support does in your workspace appears in your own audit log.
  • Staff use a separate portal on admin.optivis.co with their own accounts, and every sign-in needs a code from an authenticator app.
  • Staff have roles (administrator, support, read-only), and everything staff do is recorded in the staff audit log.
The Optivis support access setting in a workspace: allow access for 24 hours, view only unless changes are also allowed
Support access is switched on by your administrator, in Settings.

Signing in and sign-up

Password resets and invitations are single-use e-mailed links, and sign-up is protected against bots and abuse.

  • Sign-up uses Cloudflare Turnstile, rate limits and a check for disposable e-mail addresses.
  • Customer tracking links can have a PIN, which is never put in the web address; five wrong PINs lock the link for 15 minutes.
  • Spreadsheet exports neutralise formulas, so a cell can't run anything when opened.

Your data stays yours

An administrator can download everything the workspace holds, at any time, as one zip: every table as JSON, the main records as CSV, and all uploaded files.

  • The export is read through the same row-level security, so it can only contain your workspace's data; password hashes and stored secrets are left out.
  • Cancelling a paid plan never deletes anything: the workspace moves to the free Lite plan.
  • A workspace is deleted only when an administrator asks for it, 30 days after the request, and the request can be cancelled until then.

03

Who else processes data

These companies process data so Optivis CMS can run. The full list, with what each one handles, is on the sub-processors page.

ReadyServer
Hosting of the application, database and files, in Singapore
Stripe
Payments and subscriptions (billing contacts, not workspace data)
Resend
Sending account e-mails, and business e-mails for workspaces without their own mail server
DigitalOcean
DNS for optivis.co (no workspace data)
Cloudflare
Bot protection on sign-up (no workspace data)

Read the sub-processors list · Data processing agreement

04

Questions

Where is my data stored?
On a ReadyServer virtual private server in Singapore, with nightly encrypted backups copied to storage in another location.
Can Optivis staff see our shipments and invoices?
Only when one of your administrators allows support access, for 24 hours, view only unless changes are also allowed. You can end it at any time and everything support does appears in your audit log.
Can we get all our data out?
Yes. An administrator can export the whole workspace as one zip at any time: every table as JSON, the main records as CSV and all uploaded files.
What happens to our data if we cancel?
Nothing is deleted. The workspace moves to the free Lite plan. Deletion happens only if an administrator asks for it, 30 days after the request.
Is Optivis CMS certified to ISO 27001 or SOC 2?
No, not today. This page describes the controls that are in place; an independent test of the isolation between workspaces is planned before sign-up opens to everyone.

Try it with sample data first

Look around the live demo, or start a workspace and load sample data before you add anything of your own.

Early access opens soon: a 14-day free trial of Pro, no card needed