Skip to content

Kunuleco

Kunuleco is a framework for private spaces that run on your own machine. The name comes from Esperanto, where kunuleco means "fellowship", the experience of being together with people who matter to you. It is not a social network. It is infrastructure for small groups of people who already trust each other.

Kunuleco is in closed alpha. These docs are public, but downloads are limited to alpha testers. If you are testing, your welcome note has the download link. If you would like to take part, reach out through kunul.eco. Read the Alpha testing guide before you rely on anything.


Where to start

I want to... Go to...
Install it and make a space Getting started
Understand how it works Concepts
Look up a command Command reference
Look up anything else Reference
Test the alpha Alpha testing guide
Read the whole manual The User Manual, on one page

What Kunuleco is

Your space does not live on someone else's server. It runs on your machine as a node, and you control it. Four ideas hold the system together.

  1. You own your space. Your node creates your identity and keeps its keys. No outside service issues it.
  2. Invite-only by design. There is no public directory and no discovery feed. People reach you through an invite you hand them, or in person.
  3. More than one path. Nodes connect over the local network, Veilid or Tor. A node tries the paths together and keeps the first that answers, so one blocked route does not cut you off.
  4. Capability-based security. Access comes from holding a grant that cannot be forged, not from being on a list. You can give someone access to one thing without giving them access to everything, and being present somewhere is a separate decision from being able to act there.

How it fits together

Identity. Each person's identity is a KERI identifier (an AID) that their node creates with the account. People see it as a name with a six-character tag, such as mira#7K2QX9. When two nodes connect, each one signs a hello that proves its identifier, and the other checks it. There is no command to rotate an identity's key, so keep a backup with export-identity.

The node and its owner. Each node has an account of its own, the node user, created when the node first starts. It is the node's trust root, and it signs the first person's owner rights once. The first account made on a new node is that node's owner. Nobody can sign in as the node user.

Spaces. A Hall is a space you found and steward. Standing in a Hall decides who may enter it, and the Steward grants it. A capsule is a container whose access you grant, person by person.

Connections. On a local network, nodes see each other through mDNS. A sighting is only a hint. It starts a connection, and the signed hello decides who is there. On a local network, and on any other direct connection, messages are signed but not encrypted, so anyone on that network can read them. Across the internet, Veilid and Tor let nodes reach each other behind NAT, and they encrypt the traffic between the two nodes. Tor is for reachability and makes no promise to hide where a node is. Every hello a node sends, over any path, carries its IPFS addresses, so a peer can learn where the node is on the network. IPFS stores the media you upload but does not carry connections yet. Messages between nodes travel over CapTP, a protocol built on capabilities.

For more, see Concepts.


Current status

Kunuleco is in alpha. These parts work:

  • Creating an identity and signing in
  • Founding Halls, and making capsules and granting access to them
  • Connecting with nodes on a local network (mDNS) and across the internet (Veilid, Tor)
  • Presences you can keep open or make invite-only, and private messages that wait for people who are offline
  • Keeping your world on disk across restarts

These parts are still rough:

  • The installer supports Windows and Linux, and macOS is experimental
  • Some capability checks are incomplete
  • The Urchin client is the main way in, and some features are reachable only from its terminal

If you are comfortable with command-line tools and want to help shape the project, see the Alpha testing guide.


Get started

Start with installation