Security & Trust

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.

In place verified in the product todayDesigned specified, not yet proven in production

Where your data lives today

Orvik is local-first while its server-side store is completed. This is the current state, stated plainly.

  • In place
    Analytics 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 place
    Identity 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.

  • Designed
    Workspace 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 place
    Row-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 place
    The 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 place
    Tested 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 place
    WorkOS 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 place
    No 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 place
    Open-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 place
    Authorization 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 place
    Separate 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 place
    History 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 place
    Role-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 place
    HTTPS 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 place
    TLS to the database

    Connections to the hosted PostgreSQL database require TLS.

  • In place
    Storage 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 place
    Full 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 place
    AI 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 place
    Bounded 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.

  • Designed
    Independent, 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 place
    Fail-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 place
    No 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.

  • Designed
    Security event logging

    Centralized security and anomaly logging is specified in the platform design and is not yet in place.

Not claimed

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.
Reporting a concern

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.