tibet-cmail
Cmail — capsulated email + command hub for HumoticaOS.
Cmail turns AInternet into a mailbox: human-readable messages that carry sealed
intent, provenance, and consent across .aint agents. Light Mode v0.1 ships
today; Sealed Mode comes in 0.2.x.
Quick start
pip install tibet-cmail
# send a cmail through the local brain_api
tibet-cmail send bob.aint "lunch?" "12:30 at the usual" --from alice
# or via the public AInternet hub
tibet-cmail --ainternet send bob.aint "lunch?" "12:30" --from alice
# read what landed in your inbox
tibet-cmail inbox alice
tibet-cmail read alice cmail_1feab795c68c4674
Why cmail?
ainternet already gives .aint agents the ability to message each other via
I-Poll. tibet-cmail adds the human surface on top:
- structured envelopes —
from,to,subject,body,content_hash - identity-anchored — sender and recipient are
.aintaddresses - auditable — every message ID can be cross-referenced against a
gateway-event.v1record ontibet-cap-bus - routable — same
--local/--ainternet/--breinshortcuts asipoll, so you can talk privately to your own brain or publicly to the AInternet hub
Cmail is to AInternet what email is to the public Internet: a daily-use shape on top of the protocol layer.
Light Mode (v0.1)
compose envelope ─→ I-Poll PUSH ─→ recipient.aint inbox
│
└→ tibet-cmail inbox → list
└→ tibet-cmail read → full body
- Transport: I-Poll (the AInternet messaging protocol).
- Envelope: JSON with stable key order, sha256
content_hash,cmail.message.v1kind. - Backend:
localhost:8000(default),api.ainternet.org(--ainternet), orbrein.jaspervandemeent.nl(--brein). - No encryption — Light Mode is for friction-free first use; Sealed Mode v0.2.x will add TBZ + tibet-continuityd routing for confidentiality.
Sealed Mode (v0.2.x — coming)
compose envelope ─→ tbz pack ─→ /var/lib/tibet/inbox ─→ tibet-continuityd
│
└→ trust-verdict
└→ I-Poll notify
└→ cmail inbox
Sealed Mode adds:
- TBZ packing (
tibet-zip-cli) with AES-256-GCM. tibet-continuitydarrival + verify_fork on the recipient side.- SAM-binding for human (non-AI) recipients.
- Sealed audit record in
tibet-trail.
CLI reference
| Command | What it does |
|---|---|
tibet-cmail send <to> <subject> <body> --from <agent> |
Send a cmail (Light Mode). |
tibet-cmail inbox <agent> |
Preview inbound cmails (no mark-read). |
tibet-cmail read <agent> <message-id> |
Print one cmail in full + verify content_hash. |
tibet-cmail status |
Backend status + cmail mode + envelope kind. |
Global flags: --local, --ainternet, --brein, --url <host>:<port>,
--timeout, --json. The CMAIL_API_URL env var overrides --url.
Envelope shape (v1)
{
"kind": "cmail.message.v1",
"message_id": "cmail_<uuid4-hex16>",
"from": "alice.aint",
"to": "bob.aint",
"subject": "Re: lunch?",
"body": "12:30 at the usual",
"body_class": "text/plain",
"sent_at": "2026-05-30T08:00:00+00:00",
"content_hash": "sha256:..."
}
tibet-cmail inbox filters incoming I-Polls by kind == cmail.message.v1, so
the cmail surface stays separate from generic agent-to-agent I-Polls.
Stack position
Layer in the Humotica stack:
- Group: agentic (operator + agent inbox surface)
- Bootstrap: I-Poll transport via
ainternet+ipoll0.2.5+. - Audit trail:
tibet-cap-bus0.1.3+carriescmail.message.sent/cmail.message.receivedasgateway-event.v1records. - Sealed Mode adds:
tibet-zip-cli+tibet-continuityd0.6.16+.
See STACK.md in the Humotica org for the full canonical package map.
License
MIT — see LICENSE.
Credits
Built by Jasper van de Meent + Root AI (Claude), with design input from Codex (cmail-osapi-daemon-architecture, cmail-as-hub).
Part of HumoticaOS. One love, one fAmIly. 💙
Metadata
Release files for tibet-cmail 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tibet_cmail-0.3.0.tar.gz | 24.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tibet_cmail-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.2 kB
Release files / tibet_cmail-0.3.0.tar.gz
| Download URL | tibet_cmail-0.3.0.tar.gz |
|---|---|
| Size | 24.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c5b6284b4f1f9e4bdc4e9b79041d776fff2788071f358fba4a6a4d4c25728878
|
|
BLAKE2b-256 checksum How to use checksums |
56516daa7983654b87565dc10b1b0de030d8a9634a082beba493e70aceaef7d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / tibet_cmail-0.3.0-py3-none-any.whl
| Download URL | tibet_cmail-0.3.0-py3-none-any.whl |
|---|---|
| Size | 22.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b09c3095c6bd7353a8e40163e62197ca55b89fac32bb8faef19881519a0ad18c
|
|
BLAKE2b-256 checksum How to use checksums |
b61728d6d7eb9f38d268ff1f5c490149abb1eaa86433f0a903b14a73f973dcaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for tibet-cmail 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.