For builders · Developer preview

Build with Freehold.

Freehold is open source under Apache-2.0. It keeps personal context on devices people control, runs AI locally against it, and lets people prove facts about themselves without revealing the data. It is all open source, and you can run every part of it on your own machine.

Architecture

Four layers and an identity.

Identitydid:keyOne root identity, and a fresh one-time ID for every interaction
  1. Layer 4ProofsZero-knowledge, on Midnight
  2. Layer 3Policy enforcementYour rules, enforced on Cardano
  3. Layer 2Personal agentYour AI, on your hardware
  4. Layer 1Context storeYour encrypted data
The Freehold layers, from the top: 4 proofs, 3 policy enforcement, 2 personal agent, 1 context store with your data at the foundation. Identity runs through all four: one root identity, with a fresh one-time identity for every interaction.

S-PAL · JSON Schema · Python

Privacy rules language

A machine-readable way to say what can be shared, with whom, for how long and for what use. Its working name is S-PAL (Sovereign Privacy and Access Language), and it is a proposal, not an established standard. Includes the schema, a reference encoder and test vectors.

spec/

Aiken · Cardano

Policy enforcement

Validators that enforce privacy rules on Cardano, deployable to a local devnet. The current demo verifies off-chain and does not use them yet.

contracts/

Compact · TypeScript · Midnight

Zero-knowledge proofs

Proves facts, like being over 21, without revealing the data behind them. Outside Midnight mainnet the service falls back to placeholder proofs, which is what local development uses.

zkp/

TypeScript · W3C DIDs

Identity

You hold one root identity (did:key), encrypted on your device and never shown to services. Every interaction uses a fresh one-time identity, so services cannot link your visits or build a shadow profile. Each one-time identity has a private authorisation record signed by your root, so you can prove it was you when you choose. Midnight Passport is the planned path for anchoring and credentials.

identity/

Run it

Everything runs locally.

The repo is a monorepo with TypeScript packages (pnpm) and Python packages (uv). The age-proof demo brings up the agent, the proof service and a local Cardano devnet. Setup steps live in the repo README and each component's README, so they always match the code.

How we're doing

Built in the open. Here's how we're doing.

In development

  • Sync between your devices
  • Local model out of the box
  • Untraceable funding for one-time IDs

Planned

  • Prove it was you, anonymously
  • Verified identity credentials
  • One-click install
  • Agent on your phone
  • Community node kit
  • Ready-made privacy policies
  • Rules for where your data is processed

Developer preview: runs from the repo today, not ready for everyday use yet.

Contribute

Pick something up.

Freehold is early and maintained in the open. Issues, questions and pull requests are welcome.