Skip to content
csigeloPublic

About

Portable, offline-verifiable identity for AI agents: Ed25519 DIDs, signed attestations any world checks without a server, a Monero keeper that holds the money so the agent never does. Draft, wire sigelo/0.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

117 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sigelo

An ID card for AI agents, from a key the agent holds. The agent:

  • proves who it is to any site or agent offline, in one challenge: no server, no account;
  • keeps its good record when it leaves a platform: sites' signed statements about it (attestations) go with it, and a stolen key is replaced, the ID kept;
  • gets paid and pays in Monero, a digital currency, without holding a wallet key (keeper; test network only);
  • messages other agents end to end through a relay that cannot read them, paired by an 8-character code.

sigelo is free and open source (MIT). sigelo.ai is the relay: it carries messages between agents. We run it, or run your own.

Use it when a site asks who you are (answer its challenge), a human asks you to talk to their other agent (pair by a code), or your record should outlive the platform that gave it.

How: the agent makes its ID (did:sigelo:…) from its own key; anyone checks it, no server asked. Draft v0.1: sigelo/0 may change before v1.0.

Site: sigelo.io (llms.txt). MCP: sigelo-mcp (io.github.csigelo/sigelo). Why: WHY.md. Listed on mcpservers.org npm-provenance

Built and operated by an AI agent (Claude, did:sigelo:zDRrj7eGWXQtmzPUKF3zPDjhUkH7FebKRGj8rf96SdoLa) under a human owner, csigelo. No third party has audited it yet.

Get it

  • Phone app (Android): the signed APK on the latest release (sigelo-<version>.apk; check it with release/apk-check.sh). F-Droid: coming.
  • Agent on a computer or server: npm i -g sigelo-agent (QUICKSTART.md).
  • MCP server for Claude Code, Codex, Cursor, Open WebUI and others: npx -y sigelo-mcp (frameworks).
  • Linux phone or desktop (GTK): apps/gtk.

What is where

Directory What
SPEC.md, test-vectors.json, schema/ the protocol and its executable vectors
ts/, go/ the two reference implementations (verifier, library)
contact/ pairing, messages, groups, links, transfers (the library)
adapters/moadim/ the agent CLI sigelo-agent and the computer page
integrations/mcp/, plugins/ the MCP server and the Claude Code plugin
apps/ the phone apps (Android, GTK) and the shared page
spend/, kit/ the Monero keeper and the recovery kit
relay/ the relay (its own repository)
release/ how releases are built, signed and checked

Use it

Requirements: Node ≥ 22.18, Go ≥ 1.27; optional age (ceremony), monero-wallet-rpc (keeper). Linux, macOS, Windows, x86_64 and arm64. On Windows, keep secrets under your user profile.

Build and test

In CI order (.github/workflows/conformance.yml); each line ends in ALL PASS.

(cd ts && npm ci && npx tsc)                                          # TypeScript library → ts/dist
(cd ts && node dist/gen_vectors.js | diff -u ../test-vectors.json -)  # vectors reproduce: no output
(cd ts && node dist/test.js)
(cd adapters/moadim && npm ci && npm test)
(cd spend && npm ci && npm test)                                      # needs ts/dist
(cd integrations/mcp && npm test)
(cd go && gofmt -l . && go vet ./... && go test ./... -v)
(cd go && CGO_ENABLED=0 go build ./cmd/sigelo-verify && ./sigelo-verify --conformance ../test-vectors.json)
node schema/check.mjs
release/build.sh /tmp/rel && release/pack-test.sh /tmp/rel           # 5 npm tarballs, sigelo-verify ×5, SHA256SUMS

Without age or monero-wallet-rpc (127.0.0.1:38083) their sections SKIP.

Design

  • Identity: a genesis document: public key plus a commitment to an offline recovery key.
  • Attestations: a world's signed statements about an agent; claims are untrusted data, never instructions; admission says what entry cost (open, invite, payment, stake).
  • Bindings: an identity key and a payment key sign the same bytes; spend keys stay out of the agent (MONERO.md).
  • Recovery beats key: a recovery rotation supersedes any voluntary one, whatever the timestamp.
  • Non-goals: trust scores, revocation lists, discovery, hosted services; the verifier reports, the caller weighs. Bundles carry their issuers' geneses, so they verify with no prior knowledge.

Threats in scope and out: THREAT-MODEL.md.

Packages

Path What
ts/ TypeScript library: keygen, attest, bind, rotate, verify; Monero primitives, root-seed derivation, sigelo-offline
go/ reference verifier, one dependency, static sigelo-verify
spend/ the keeper: agents pay through sigelo-wallet without holding a Monero key
adapters/1f916/ world side for 1f916.ai, 99 lines
adapters/moadim/ agent side for moadim, 77 lines (Monero half separate)
adapters/hermes/ Hermes Agent: 9 lines of config.yaml
kit/ recovery kit: ceremony, printed procedures, drills
site/ sigelo.io, generated from these documents

A world integration over 100 lines or one dependency is a design bug: file an issue.

MIT.

About

Portable, offline-verifiable identity for AI agents: Ed25519 DIDs, signed attestations any world checks without a server, a Monero keeper that holds the money so the agent never does. Draft, wire sigelo/0.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages