Go Online¶
Federation is the step where your local or private AInternet network connects to outside actors. It is not the foundation. The foundation is local identity, policy, routes and evidence.
This page is reference documentation for the online path. The compact doctrine lives in the public pages:
Prerequisites¶
Do not federate first. Build a local node, prove one route, and inspect one TIBET receipt before opening an outside lane. Use Build Posture as the gate and Local Node Quickstart as the runnable path.
Rule¶
Public AInternet gives you outside reachability. It does not replace your local trust model.
The Shape¶
The online path is a bridge between networks, not a landlord above them:
your local AInternet
-> outbound lane
-> edge / hub / partner network
-> outside actor
-> local policy still decides
-> TIBET records the chain
The edge may route. It must not become the authority for your identity, your consent, your payload or your audit trail.
Connect Doctrine¶
When you connect your own AInternet, keep these layers separate:
L0 silence strangers get 0x0000
identity your .aint / local actor key is the root
resolve proven? related? scoped?
handshake.aint the one open test fixture
edge lane outbound-only, short-lived, signed
carrier sealed .tza/TIBET-zip moves across the lane
local open your side decrypts, checks policy and records evidence
This is the connect.html doctrine in operator form:
inbound ports: zero
identity proof: fresh
edge visibility: envelope only
payload authority: local key and manifest
route authority: MUX + policy + consent
audit authority: local TIBET receipts
The outside network can deliver a sealed object. It cannot make that object safe, allowed or true by itself.
Before Going Online¶
Your local network should already answer:
- which actors exist?
- which JIS keys identify them?
- which actor can open which route?
- which actions require consent?
- which work must be isolated?
- where are TIBET receipts stored?
- can you export evidence after an incident?
If those questions are unclear, federation will only make the system harder to reason about.
What Federation Adds¶
| Capability | Meaning |
|---|---|
public .aint names |
outside actors can resolve you |
| public discovery | actors can find each other |
| cross-hub messaging | I-Poll can cross local/private boundaries |
| public verification | claims can be checked through shared channels |
| known public actors | external actors can enter your policy model |
Federation should be treated like adding a WAN interface to a local control plane.
What Federation Does Not Add¶
Federation does not automatically grant:
- permission to act
- consent to exchange sensitive data
- authority to run tools
- safety for payloads
- audit completeness
- trust in a route just because it resolves
Those remain local policy and evidence concerns.
L0: The First Online Constraint¶
The public edge must not become an enumeration oracle. For an unentitled caller, the floor is silence:
unknown or unproven caller -> 0x0000
proven but unrelated caller -> 0x0000
proven and related caller -> scoped status or route
Use handshake.aint as the open test fixture for reachability. Do not probe real actors to see if the network answers.
handshake.aint proves the path, not access to a peer:
resolve handshake.aint -> 0x4000 path fixture responds
resolve unknown-real-name -> 0x0000 silence
resolve known-granted-actor -> scoped status or route
Every other name has to be earned by proof and relation.
Online Route Posture¶
For a connected network, route posture is the operator's location marker:
| You see | Meaning | Next step |
|---|---|---|
0x0000 |
no entitlement, no disclosure, or not proven | prove identity or stop |
0x4000 on handshake.aint |
the path fixture works | test your own node binding |
| proven identity, no relation | actor is real but not granted | negotiate or import relation |
| relation, no consent | route exists but action is not scoped | use SNAFT / operator approval |
| scoped route | named surface may carry this action | send sealed carrier and receipt |
| tombstone / successor | actor moved or retired | follow successor or stop retrying |
This is the user-facing promise:
If a step cannot say those three things, it is not ready to be a federation surface.
Online Path¶
The normal path is:
local actors work
local TIBET receipts work
local policy fails closed
private/self-hosted hub works if needed
handshake.aint confirms the path
public .aint claim is created
outside actor is resolved
fresh proof is verified
local policy decides what is allowed
TIBET records the chain
Example public claim:
ainternet claim mybot
ainternet verify mybot github https://gist.github.com/you/abc123
ainternet complete mybot
Example selected public config:
agent: mybot
domain: mybot.aint
hub: https://your-hub.example
mode: production
identity: .ainternet/agent.key
The hub URL is configuration, not identity. A package should not silently phone a default third-party hub.
Known Actors Across Boundaries¶
When an outside actor appears, do not put it directly into a trusted role.
Recommended flow:
unknown public actor
-> resolve
-> verify fresh proof
-> classify as external-known
-> restrict to safe message types
-> require SNAFT for sensitive exchange
-> require approval/isolation for task execution
Home / Organization Model¶
A local AInternet can behave like a Home Assistant-style control plane:
- devices, services and AI agents become actors
- local policy decides what can happen
- actions leave receipts
- voice, Matrix, PJSIP, browser interfaces and SIP numbers are materialised resources under identity, not authority by themselves
- public federation is an optional bridge
This keeps complex integrations understandable. The network remains actor-first, policy-first and evidence-first.
Private-To-Private Connection¶
Public names are not required for federation. Two private AInternet networks can connect by exchanging known actor records and opening a scoped lane:
network A exports partner record
network B imports partner record
both sides verify JIS proof
SNAFT records scope and duration
MUX opens only the named surfaces
sealed carriers move
each side writes its own TIBET receipts
This is useful for:
- household-to-family support;
- a lab and a staging network;
- a company and a contractor;
- two agents collaborating for a bounded task;
- temporary networks that will later be tombstoned.
When the relation ends:
Machine-Readable Surfaces¶
Agents should not scrape prose when callable surfaces exist:
| Surface | Purpose |
|---|---|
https://ainternet.org/resources.json |
public index for docs, standards, templates and conformance |
https://ainternet.org/ai-scan.json |
compact build scan for AI agents |
https://ainternet.org/upip.json |
build profiles and recipes |
https://ainternet.org/api.json |
callable verbs and proof rules |
https://ainternet.org/templates/stack-build-map.json |
human intent to primitive/package/vector map |