What protects your data — and what we don't claim.
Every statement on this page is either in place in the product today or explicitly marked as designed and not yet proven — including where your data actually lives right now. Orvik holds no security certifications and makes no claim it cannot show you.
Where your data lives today
Orvik is local-first while its server-side store is completed. This is the current state, stated plainly.
- In placeAnalytics workspace data is device-local
Roster, activity entries, configuration, meetings, coaching and follow-ups are held in the browser's local storage on the device where they were entered. There is no server copy of that data yet; the built-in backup export is the copy you control, and the product tells you to take one regularly.
- In placeIdentity and organization are server-side
Sign-in, organization membership and the vertical catalog live in the Orvik platform database, isolated per organization as described below.
- DesignedWorkspace data moves to the server-side store
The tenant schema, roles and isolation tests below already exist for it; the product's writes are being cut over path by path. Flow's current build likewise keeps its data in the browser; its production service is not built yet.
Tenant isolation
The Orvik platform database isolates organizations at the database level, not only in application code. Workspace data is moving into it progressively (see above).
- In placeRow-level security on every tenant table
Isolation is enabled and forced in PostgreSQL. A query with no organization context returns zero rows; a known row of another tenant reads as absent.
- In placeThe tenant travels on every key
Every tenant foreign key carries the organization on both sides, so a cross-tenant reference is impossible to write, not merely unlikely.
- In placeTested from the catalog
The isolation tests enumerate the database catalog rather than a list of known tables, so a table added later without protection fails the suite.
Authentication
Sign-in is delegated to an identity provider and mediated by the Orvik server.
- In placeWorkOS AuthKit, confidential client
The server performs the OAuth code exchange with PKCE and state validation and seals the session into an HttpOnly cookie. Browser JavaScript never holds an access or refresh token.
- In placeNo passwords stored by Orvik
Credentials are handled by the identity provider. Orvik maps the provider's subject to an internal identity; it never adopts the provider's id as its own.
- In placeOpen-redirect and CSRF guards
Return paths are validated by a whitelist of shape and re-serialized from a parse; state-changing requests are checked against the configured origin.
- In placeAuthorization stays in Orvik
Which organizations a person belongs to, and with what role, lives in Orvik's own database under row-level security — not in the vendor.
Access controls & least privilege
The application connects as a restricted role that cannot do what it does not need to.
- In placeSeparate runtime and provisioning roles
The application role has column-scoped grants and no table-wide write on history; organization creation is a narrow, separately-credentialed capability the application role does not hold.
- In placeHistory cannot be rewritten
Effective-dated history tables have no update or delete path at any depth, and audit fields cannot be forged by a client.
- In placeRole-based views in the product
Managers, reps and admins see different surfaces of the same data. Reps see their own numbers; a manager's operations are refused to a rep at the database level.
Encryption & transport
Data moves over TLS; production refuses to serve sessions in clear.
- In placeHTTPS for the application
The server refuses to start a non-loopback origin over plain HTTP, and refuses production without HTTPS, so a session cookie can never travel without the Secure flag.
- In placeTLS to the database
Connections to the hosted PostgreSQL database require TLS.
- In placeStorage encryption
Server-side data lives in managed PostgreSQL and relies on the hosting provider's storage encryption at rest, which the provider documents; Orvik adds no application-level field encryption of its own. Device-local Analytics data is protected only by the device (disk encryption, OS account).
Data handling & portability
You can get everything out, and secrets never travel with it.
- In placeFull export, validated restore
Analytics exports the whole workspace as JSON and validates a backup before restoring it. API keys are stripped from every export. Because workspace data is device-local today, this export is your server-independent copy.
- In placeAI keys stay on your device
The optional Anthropic key for coaching notes is stored locally in the browser, never on Orvik's servers, and never in a backup file.
- In placeBounded AI context in Flow
A writing provider — Orvik's or yours — receives the writing context and your text: not the workspace, not other users' data, not other prospects.
- DesignedIndependent, tested database backups
The platform design specifies periodic encrypted database dumps to independent storage with a tested restore, alongside the provider's daily backups. This is designed and not yet proven in production.
Secrets, configuration & operations
Misconfiguration fails closed, and the website holds no provider credentials in the browser.
- In placeFail-closed configuration
The product server refuses to start half-configured — a missing or malformed secret is a refusal at boot with a named variable, never a silent degradation.
- In placeNo secrets in browser bundles
Provider keys are server-only by construction on both the product and this website; this site sets a per-request Content Security Policy and standard security headers.
- DesignedSecurity event logging
Centralized security and anomaly logging is specified in the platform design and is not yet in place.
Things you will not find here.
- Certifications. Orvik does not hold SOC 2, ISO 27001 or similar certifications and does not imply them.
- Uptime guarantees. No SLA is offered today.
- Third-party connectors. No CRM, dialer or call-recording connector is live; see Integrations.
- Claims about your data being used to train models. Orvik makes no training claim either way here; the Privacy Policy describes AI features conservatively.
Found something? Tell us directly through the chat launcher or the contact form. Reports are read by a person, and a dedicated security contact address is being published with the launch.
Questions about security?
Ask us directly, or start a trial and inspect the product yourself.