Security

Built to keep your content yours

Tenant isolation, hashed credentials, scoped collaboration tokens, and payments that never expose card data — the security model behind the managed backend.

Accounts & authentication

PBKDF2 password hashing

Passwords are never stored in plain text — they are hashed with PBKDF2 before storage.

Expiring sessions

The account plane uses bearer sessions that expire, separate from the data-plane API keys.

Two auth planes

Session tokens drive the console; per-account API keys drive documents, conversion, and collaboration.

Tenant isolation

Isolated tenants

Every API key is its own tenant. Documents and usage never cross account boundaries.

Plan-based quotas

Limits on documents, conversions, collaboration rooms, and keys are enforced automatically per tenant.

Scoped API keys

Rotate or revoke keys per account without touching the rest of your integration.

Collaboration

Room-scoped access

The collaboration layer uses short-lived, per-room tokens, so users only join the documents they are granted.

Graceful degradation

If the collaboration layer is unreachable, editing falls back to single-user with autosave rather than exposing an open channel.

Payments & data

Stripe-handled billing

Card details are processed by Stripe — no card data ever touches the service.

Secrets via environment

Connection strings and provider keys are supplied through environment variables, never committed to the repo.

Your data on self-host

Run the same service on your own SQL Server behind IIS so content stays inside your infrastructure.