Security & data handling
Last updated — May 31, 2026
Separation of intelligence and storage
Historis is a storage layer, not an AI. It does not read your inbox, summarize, or infer anything on its own.
Your AI agent (Claude, ChatGPT, Cursor…) decides what to write through MCP; Historis only persists the structured events it sends. We never see raw emails or documents — only the structured event your agent chose to store.
Authentication
Web access uses Supabase Auth. Agent and MCP access use OAuth 2.1 with PKCE — no API keys are ever pasted into prompts.
Tokens are scoped per user and per organization. Personal API tokens can be revoked from your settings at any time.
Multi-tenant isolation
Every record is scoped to an organization, and the API enforces that scope on every request. PostgreSQL Row-Level Security (RLS) adds defense-in-depth on top.
A user can only ever read or write data within their own organization.
Data in transit & at rest
All traffic is encrypted over HTTPS/TLS. Data is stored in PostgreSQL (Supabase), hosted in the EU, with automated backups.
What we store
Only what you or your agent explicitly create:
- Events — the text you, or your AI, write
- People and organizations you interact with
- Tags and follow-up dates
We do not ingest your emails, calendar contents, or files. We do not sell data, and we never train any AI model on your data.
Your data, your control
Export your data anytime (JSON), and delete your account and all associated data from your settings.
Data is hosted in the EU. For data-protection details and the full list of sub-processors, see our Privacy Policy.
Infrastructure
Frontend on Vercel, API and MCP server on Railway, database, auth and storage on Supabase (EU). Uptime is monitored, and incidents are handled and documented.
Contact
Security questions or responsible disclosure: security@historis.app