Security & Trust
Gungnir is a multi-tenant platform handling sensitive legal and professional services data. This page explains exactly how your data is isolated, what we encrypt, and what prevents anyone — including Gungnir developers — from reading your documents.
Tenant isolation
Every table in the Gungnir database that holds firm data is protected by Row-Level Security (RLS) — a database-native enforcement layer, not application code. This means that even if our application had a bug that passed the wrong tenant ID, the database itself would reject the query and return zero rows.
The isolation check on every query is:
-- Applied to every SELECT, INSERT, UPDATE, DELETE USING (tenant_id = auth_tenant_id())
There are 57+ tables with this policy. None of them can be bypassed by application code. The only bypass is the database service role key — which is never exposed to the frontend, never used in client-side code, and covered by our Data Processing Agreement.
✓ Can another tenant see my data?
No. The database rejects cross-tenant queries unconditionally. It is not possible for Tenant A to read Tenant B's data through the Gungnir application.
Matter document encryption at rest
Every matter document you upload to Gungnir is encrypted before it reaches storage using AES-256-GCM, a standard authenticated encryption algorithm.
How it works:
- When you upload a matter document, Gungnir generates a unique data encryption key (DEK) for your firm.
- The file is encrypted with your DEK before it is written to storage. What reaches the storage layer is ciphertext.
- Your DEK is itself encrypted with a master key that only Gungnir holds, and stored alongside your tenant record.
- When you download a document, Gungnir decrypts the file in memory and streams the plaintext to your browser over TLS. The plaintext is never written to disk on our servers.
What this means for you: Even if someone extracted the raw storage bucket, they would get encrypted blobs that are unreadable without your firm's DEK.
✓ Can Gungnir developers read my documents?
A developer with infrastructure access would see encrypted blobs — not readable documents. Reading your documents requires both the storage blob and your firm's DEK. Access to either alone is insufficient. Additionally, every access attempt creates an immutable audit log entry (see below), and the Data Processing Agreement legally prohibits unauthorized access.
Immutable audit trail
Every action on your firm's data — document upload, AI draft, billing entry, login, approval decision — creates a timestamped record in an append-only audit log.
The audit log is enforced at the database level: there are no UPDATE or DELETE policies on the audit log table for any role, including platform administrators. Once an entry is written, it cannot be changed or removed by anyone.
You can view your firm's complete audit trail at any time from Settings → Audit trail. Each entry shows the action, the user who performed it, the IP address, the timestamp, and a SHA-256 payload hash so you can verify the entry has not been tampered with.
✓ Can Gungnir staff silently access my data?
No. Any access to your firm's data creates an audit entry that you can see. There is no mechanism for silent, unlogged access through the Gungnir application.
Developer access policy
We want to be honest about what is technically possible versus what is contractually and operationally prevented.
What is technically possible: A Gungnir engineer with access to the Supabase service role key could bypass RLS at the database layer. This is true of every SaaS platform.
What prevents this:
- Matter document encryption — even with database access, matter documents are ciphertext. The DEK is required to decrypt.
- Data Processing Agreement — Gungnir is legally bound as a data processor under R.A. 10173. Unauthorised access is a breach of contract and a violation of Philippine law.
- Audit log — any application-layer access to your data is logged. You can audit what has been accessed at any time.
- Access controls — production infrastructure access is restricted to a small number of authorised engineers and logged.
⚠ Honest assessment
The gold standard protection against developer access is BYOK (Bring Your Own Key) — where you hold the master encryption key and Gungnir cannot decrypt your documents even with full infrastructure access. BYOK is on our roadmap and will be available for Enterprise tier before Series A. Today, the combination of document encryption, DPA, and audit logging provides strong practical protection for the vast majority of use cases.
Backups and recovery
Gungnir runs daily automatic backups of all firm data. Point-in-time recovery allows restoration to any moment within the retention window. Before Supabase Pro activation, the standard retention window applies. After Supabase Pro upgrade (before 50 tenants), retention extends to 7 days. Backups are stored in Supabase's Seoul, South Korea region (AWS ap-northeast-2).
Infrastructure
Gungnir runs on serverless infrastructure (Vercel for the web application, Railway for the AI service). There is no single server to attack or take down. DDoS protection is built into the platform layer. All environment variables and secrets are encrypted at the infrastructure level and are never in source code.
Breach notification
In the event of a personal data breach affecting your firm, Gungnir will notify you within 72 hours of becoming aware of the breach, as required under R.A. 10173 and NPC Breach Reporting requirements. We will provide a description of the nature of the breach, the categories of data affected, and the measures taken or proposed to address it.
Frequently asked questions
Can other tenants see my matters, clients, or documents?
No. Row-level security at the database layer means a query from Tenant A cannot return data belonging to Tenant B. This is enforced by the database, not application code, and cannot be bypassed by a bug in Gungnir's software.
Can Gungnir developers read my uploaded documents?
Matter documents are encrypted at rest with a per-tenant key. A developer with database access would see ciphertext. Decrypting requires your firm's data encryption key. The Data Processing Agreement also legally prohibits unauthorized access.
What happens to my data if I cancel my subscription?
You have 30 days to export your data after cancellation. Gungnir then permanently deletes your data from active systems within 30 days and from backups within 90 days. You can request written confirmation of deletion.
Is my data stored in the Philippines?
Data is stored on Supabase infrastructure in Seoul, South Korea (AWS ap-northeast-2). AI inference requests transit through Anthropic's servers in the United States, but Anthropic operates a zero-data-retention policy — your data is not stored or used for training.
How do I see who has accessed my firm's data?
Go to Settings → Audit trail. Every action on your firm's data is listed with a timestamp, user, IP address, and payload hash. The log is append-only and cannot be edited by anyone.
Does Gungnir comply with the Philippine Data Privacy Act?
Yes. Gungnir operates as a Data Processor under R.A. 10173. Your firm is the Data Controller. The Data Processing Agreement formalises this relationship and Gungnir's obligations under Philippine law.
How is data isolated between users within my firm?
Within your firm, role-based access control (RBAC) determines what each user can see. Associates see matters assigned to them; partners see all matters; clients through the portal see only their own matter documents. All of this is enforced by the same row-level security layer.
What encryption does Gungnir use?
AES-256-GCM for matter documents and credentials at rest. TLS 1.2+ for all data in transit. The DEK (data encryption key) for matter documents is itself encrypted with a master key using AES-256-GCM before storage.
Questions about security or privacy?
Contact our Data Protection Officer at privacy@gungnir.cloud. We respond within 2 business days.