Every fact has a source you can open.
Hemilake ingests mail, calendar, chats, tickets, code and agent sessions into a graph you own. Nothing is overwritten: a superseded fact stays, marked invalid, with its dates.
curl -fsSL https://hemi.sh | HEMI_LICENSE=HEMI-XXXX-XXXX-XXXX-XXXX bash
Or create your Hemilake in the browser, hosted, nothing to install
Illustrative. The facts, the people and the channels are yours.
A fact is an extraction and loses nuance. Each one points to the episode behind it, and the episode keeps the original message, ticket or memo, so the exact wording is one call away.
Every fact records when it became true and when it stopped. A superseded fact stays, marked invalid, with its dates, so "when did the deadline move, from what, and who moved it" has an answer.
The graph, the raw text and the credentials live on your machine, under your login. Sources are off until you enable them, one by one, and the only party that sees plaintext besides you is the model you pick.
Mail, calendar, Teams, Slack, WhatsApp, Telegram, Jira, GitHub, voice memos, notes, support cases and every session of your coding agent. Each source is off until you switch it on. Every item is kept verbatim, with the time it happened.
A model reads each episode and extracts entities and facts. A first name in a chat and a full name in a mail become one person. A new fact that contradicts an old one marks it superseded instead of deleting it.
Every prompt you type gets the few relevant valid facts, the people involved and the raw passages behind them, before the agent answers. Every session ends as a new episode, so tomorrow's assistant knows what today's decided.
The hosted fleet runs on Google Cloud in europe-west1. Gemini embeds what each lake stores and transcribes its voice notes, and Gemini Enterprise, Spark and Antigravity recall from the lake and save to it.
Each node is a Confidential Space VM with memory encrypted by AMD SEV and no SSH. It runs one container, and its image digest has to be on a list signed with our release key. Google's attestation service signs a token that names that digest. Nobody logs in to the machine, us included.
Every lake has its own Cloud KMS key and its own Cloud Storage bucket. Workload identity federation grants both to the attested image, never to the VM or to an operator. State is kept as encrypted snapshots, and destroying the key erases the lake. An organisation can keep its people's keys on a key ring in its own Google Cloud project.
Hosted lakes embed every entity and fact with gemini-embedding-001 for vector search, and Gemini Flash-Lite transcribes voice notes. Gemini can also run extraction, the daily brief and the small calls, and the owner picks the model for each tier. The hosted defaults are served from Vertex AI.
An admin adds mcp.hemilake.app once as a custom MCP server data store. Each person then authorises their own lake with a passkey, and the assistant, the agents built in it and Spark recall from that lake and save to it. Every tool carries MCP annotations, so Gemini asks before it sends a mail and not before a recall.
A plugin for the Antigravity app, the IDE and the agy CLI brings the same recall before each prompt, session memory, skills and tools as in Claude Code.
Gmail, Google Calendar, Drive and Contacts come in through Google's official APIs under the Limited Use rules, and so do Google Cloud support cases. On a hosted lake the Google sign-in completes inside the instance, so the tokens never pass through us.
What the hosted fleet runs on
A document index knows the latest version. Hemilake knows every version and when each was true. Superseded facts stay in the graph with their dates, so the answer to today's question can also explain how it got there.
Each one is a connector you turn on and authenticate yourself. Ingestion runs every 30 minutes. A new source is one Python file and a configuration block.
One sign-in covers Microsoft 365 mail, calendar and Teams. Gmail and Calendar share another. WhatsApp scans a QR from your phone and is off unless you ask for it.
Hemilake is built so that the vendor cannot hold your memory, even if it wanted to. The privacy policy lists exactly what it reads and what leaves your machine.
On a server the data directory is encrypted with a passphrase that exists only in your head; after a reboot it stays sealed until you unseal it. On a Mac it sits inside FileVault, under your login.
A Mac, a Linux box you own, a Confidential VM in your own Google Cloud project, or a hosted lake in Confidential Space. Whoever helps run it never logs in to the machine.
The only party that sees plaintext besides you is the model you choose: Gemini or Claude on Vertex AI, another gateway with no-training terms, or a local model. A Mac embeds locally; a hosted lake embeds with Gemini.
Sources are off by default. Telemetry carries version, counts, sizes and cost, bound to your licence so we can help you; never text, people or tokens. hemi telemetry off stops even that.
One half that keeps what the other forgets. Only the owner reads it.
Many segments, one circle. The centre is what the company remembers; each segment decides what it contributes.
an episode, at the scope you choose: team, project, organization.
with what the company knows that you are entitled to see.
when knowledge is out of your scope, it names the team, not the text.
and every fact derived only from it is invalidated.
The installer puts you on stable. hemi channel beta switches. edge is built from every commit and is for us. The files themselves download only with a licence key; the manifests below are public and signed.
| Channel | Version | |||
|---|---|---|---|---|
| loading… | ||||
Every channel manifest is signed with the release key, hemisphere-release.pub, and carries the tarball's SHA-256. The same check hemi update performs:
curl -sO https://hemilake.com/channels/stable.json
curl -sO https://hemilake.com/channels/stable.json.sig
curl -sO https://hemilake.com/hemisphere-release.pub
openssl pkeyutl -verify -rawin -pubin -inkey hemisphere-release.pub \
-sigfile stable.json.sig -in stable.json