Iris Git / How it works

Git, with a different foundation.

Git tracks changes. Hashtree stores repository data. Nostr connects a repository name to a signed update from its publisher. Iris Git brings these pieces into a browser.

From a commit to another computer

  1. Commit with Git. Your repository keeps ordinary Git commits, branches, and history.
  2. Store with Hashtree. The remote helper stores repository data as content-addressed trees. Data can be fetched from Blossom servers or peers.
  3. Publish with Nostr. Signed events announce the repository root under a public key and a repository name. Relays help other clients find those updates.
  4. Read with either client. Iris Git displays the repository in a browser. A Git client with git-remote-htree can clone or fetch it.

Identity and integrity

A signing key controls publication under its corresponding public key. Content hashes let clients verify the data they retrieve. These checks do not establish that a publisher is trustworthy or that the code is safe to run.

Keep signing keys separate from repository files and protect their backups. Each collaborator should use their own identity-specific remote. Sharing one private key can cause later pushes to overwrite another person’s published refs.

Visibility is a separate choice

Public
Other people can read the repository. Internal storage encryption does not make public code confidential.
Link-visible
Encrypted data shared through a secret URL. Anyone who obtains that URL can read the repository; protect it like a credential.
Private
The Git helper’s author-only encrypted mode. This is not the same access model as a GitHub organization with team roles.

Encryption of repository data does not promise anonymity or hide all network metadata. A recipient can retain data they have already downloaded.

Who keeps the code online?

Someone must retain and serve the data. Relays carry announcements; they do not automatically keep every repository’s files. Storage servers and peers supply the content, and their retention policies and reachability matter.

You can use the Hashtree daemon for peer-to-peer sharing. The browser uses Nostr-discovered FIPS WebRTC connections. Connections still need a working network path; decentralization does not remove networking or storage dependencies.

Keep independent backups and test a fresh clone. Losing every available copy of data cannot be repaired from its hash.

Where the web app fits

git.iris.to is a convenient hosted interface. The Git remote helper can work without opening that site, but it still needs the configured relays and data providers. Browser browsing, public discovery, and Git transport are different parts of the system.

Iris Git also uses Nostr events for collaboration and can display results from configured Hashtree CI runners. Test your project’s review, access, and automation requirements before changing hosts.

Read the implementation

Try the quickstart → · Compare with GitHub →