A transparent overview of our security architecture, data handling practices, and compliance posture.
Last updated: March 2026
All data transmitted between your browser and our servers is encrypted using TLS 1.3. This includes API calls to the Grist backend, portal interactions, and authentication flows via Keycloak. HSTS headers enforce HTTPS-only connections.
Data stored on our servers uses volume-level encryption (LUKS/dm-crypt) on all Docker data volumes. This protects Grist documents, PostgreSQL databases, and Redis data at the filesystem level. Encryption is transparent to the application layer.
We do not currently offer end-to-end encryption or zero-knowledge architecture. Your data is accessible to the server-side application for processing (e.g., formula calculations, aggregation). We are transparent about this because trust requires honesty, not marketing claims. Client-side encryption for sensitive fields is on our roadmap.
InRows uses a per-company document isolation model. Each company's data is stored in a separate Grist document with its own access control rules. This is fundamentally different from shared-database architectures where all companies' data sits in the same tables separated only by row-level security.
Authentication and authorization are handled by Keycloak, an enterprise-grade identity provider supporting OpenID Connect (OIDC).
All data changes and access events are logged in immudb, a tamper-evident database purpose-built for audit trails. This means:
Industry benchmarks are computed from anonymized, aggregated data only. Companies that opt in contribute their approved KPI values to aggregate statistics.
Compliant with EU/UK General Data Protection Regulation
ActiveCompliant with the UK Data Protection Act 2018
ActiveInformation Security Management System certification
PlannedIf you have any questions about our security practices, please contact us.
security@inrows.com