Skip to content
VITI

Company

Security at Viti

Last updated: 19 July 2026

Security at Viti is a small number of load-bearing decisions, applied consistently. This page describes them plainly; the detail lives in our DPA and subprocessor documentation.

EU processing

All application data is hosted on Microsoft Azure in Sweden Central, and model inference runs exclusively through EU-processing routes. First-party endpoints that process outside the EU are excluded from the catalogue by validation, in code.

PII masked before egress

Personal data is detected and replaced with reversible placeholders before any request leaves our infrastructure for a model provider, and restored on the way back. The placeholder vault lives only in memory for the duration of a single request and is never persisted. If the privacy service is unavailable, affected requests are rejected rather than sent onward unprotected.

Tenant isolation

Every tenant's data is separated by row-level security in PostgreSQL, enforced by the database itself rather than by application code alone. Uploaded files live in private storage under tenant-prefixed keys.

Encryption in transit

All traffic is encrypted in transit with TLS — between you and Viti, and between Viti and every provider. Data at rest is encrypted by the underlying Azure services.

Key handling

Provider API keys and other secrets are stored in Azure Key Vault and referenced at runtime. They are never committed to source code or configuration files.

Responsible disclosure

Found a vulnerability? Write to security@viti.fo. We acknowledge reports within two business days and will not take legal action against good-faith research.

What we do not claim

Viti does not currently hold ISO 27001 or SOC 2 certification, and we will not imply otherwise. What we publish here is what is actually built and enforced.