# Security (https://docs.vitrinka.ai/security)



## What this tab is [#what]

This section covers storage, encryption, workspace isolation, access, retention and recovery. Application controls depend on your configuration; hosted-service details are identified separately. The settings are in the [configuration reference](/reference/env), and maintenance commands are in [Operations](/operator/operations#verbs).

The public [security overview](https://vitrinka.ai/legal/security) is the technical-measures annex of the hosted service's data processing agreement. This tab is the self-hosted deployment's counterpart: the same controls, described at the level of an environment variable and a command.

## The map [#map]

| Page                                          | What it covers                                                                                                                |
| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| [Encryption and keys](/security/encryption)   | The per-workspace envelope, the deployment key, what is sealed, and how the key is rotated.                                   |
| [Storage and tenancy](/security/storage)      | One SQLite file and one object prefix per workspace, the blob backends, the cache, malware scanning.                          |
| [Backups](/security/backups)                  | The sealed backup archive, what it includes and excludes, and how a restore refuses to overwrite.                             |
| [Retention and deletion](/security/retention) | Session retention windows, control-plane rules, and crypto-shredding a workspace.                                             |
| [Audit trail](/security/audit)                | One append-only table, written in the same transaction as the action it records, and its signed export off the host.          |
| [Identity and access](/security/identity)     | Roles, credentials, share links, single sign-on, MFA, break-glass, deployment authority, sessions, and how agents authorize.  |
| [Recorder redaction](/security/redaction)     | One policy applied in the browser and again at ingest, and where key-based scrubbing stops.                                   |
| [Headers and CSP](/security/headers)          | The header set on every response, the single owner of the content security policy, cross-origin access, and the share origin. |
| [Air-gapped deployment](/security/airgap)     | What `AIR_GAP=1` blanks, what deliberately stays, what leaves the host, and the offline bundle.                               |
| [Licensing](/security/licensing)              | The vendor-signed licence file, verified offline, what it gates, and how expiry degrades.                                     |

## Three facts to carry into a review [#facts]

* **Isolation is physical.** A workspace is its own database file and its own object-storage prefix; a query has no shared table to cross, and a token is checked against the workspace it addresses before it reaches one.
* **Ciphertext is the storage contract.** Every blob, and the content columns listed under [Encryption and keys](/security/encryption#sealed), is sealed under the workspace's own key before it reaches disk or object storage; the provider, the blob cache and the backup archive hold ciphertext. The rest of the database rests on volume encryption.
* **Nothing here needs the internet.** The licence verifies offline against the vendor key built into the server; single sign-on, mail, the trackers and the CLI's update feed all have an in-network shape; and `AIR_GAP=1` blanks what does not.
