Hermetic
A local-first AI data analyst. Ask questions of your data in natural language, get an interactive dashboard, and the model never sees your rows.
Most AI analytics tools work by sending your data to a model and asking it to describe what it sees. That has two problems. The rows leave your machine, and the description is generated text — a number in the summary is a plausible number, not necessarily the number the query returned.
Hermetic is built the other way around. The model reads schemas and writes queries; the queries run locally against DuckDB, your warehouse, or Parquet on S3; and the analysis then declares what it found as typed claims. A tested statistical runtime applies the judgment calls — zero sentinels, thin-data attestation, choosing a robust test over a parametric one — as total functions rather than leaving them to model discretion.
The last step is the one I care most about. An optional compiled composer builds the narrative and the dashboard deterministically from those claims. The prose reads like an analyst wrote it, but every figure in it is a binding to a computed value. A fabricated number is not a thing the system can express. A Verify panel and an on-demand adversarial audit show the receipts.
What it handles
CSV, Excel, GeoJSON, and Parquet — single files, Hive-partitioned folders, and cloud Parquet at billion-row scale — or direct connections to PostgreSQL, BigQuery, ClickHouse, Snowflake, Databricks, Trino, and Hive.
Beyond single questions there are conversational follow-ups and a multi-step Investigate agent that plans its own sequence of queries.
Results you can keep
Compiled dashboards are live documents, not screenshots. You can reorder sections, hide elements, edit the insight paragraph, narrate a claim the composer left untold, or add charts from a derived catalog — all through one governed edit grammar that the web UI and the MCP interface share, so an agent and a person are making the same moves.
Analyses persist, restore, re-run against fresh data, refresh on a cron, and export as a single self-contained interactive HTML file you can send to someone who has none of this installed.
Teaching it your definitions
Every team has its own meaning for active user or margin. Hermetic takes drop-in skills — markdown guidance plus tested Python helpers — that carry those definitions, enforced by a review gate before anything executes. A curated learning loop keeps exemplars from past successful runs, and runs the linter flagged are vetoed from teaching.
Where it runs
Hermetic is also an MCP server, so Claude Desktop, Claude Code, or any MCP host can drive the same pipeline as tools — including auditing and editing dashboards — while data and execution stay on your machine.
Models are your choice: cloud LLMs from Anthropic, Bedrock, Vertex, or any OpenAI-compatible endpoint; your own Claude subscription through the Claude CLI with no API key; or local models through MLX, llama.cpp, or Ollama, with per-phase control over reasoning effort.
What it looks like

Files, warehouse connections, and saved sources. Data stays where it already lives. 
Question suggestions generated from the schema, not from the rows. 
The SQL the analysis ran, kept alongside the result rather than hidden behind it. 
Tables, schema, and sample data in a rail beside the question.
Writing about Hermetic
- Hermetic in September: catalogs, a desktop app, and a server for your agent20 September 2026
- Hermetic since June: every number in the report traces to a line of code9 August 2026
- Hermetic in June: clicking into answers, querying warehouses, and trusting the numbers28 June 2026
- Hermetic: closing the agentic loop31 May 2026
- Hermetic: from query box to agentic analysis13 May 2026
- Hermetic update #3: from single questions to actual conversations with your data7 April 2026
- Hermetic got a lot better - here’s what changed and why28 March 2026
- Hermetic: an experiment in private data analysis with LLMs & Generative UI9 March 2026