Actions & Action Tokens
An Action Token represents a user action within Cloudillo. Examples of actions include creating a post, adding a comment, leaving a like, or performing other interactions.
Why Action Tokens?
Traditional social platforms store your posts, likes, and comments in their private databases. If the platform disappears, so does your content. Cloudillo takes a different approach: your actions are portable, verifiable, and truly yours.
Think of action tokens like signed letters:
- Anyone can verify who wrote them (cryptographic signature)
- They can be delivered to any server (federation)
- They can’t be tampered with without detection (content-addressing)
- They belong to you, not to any platform (decentralization)
Real-world example: When Alice posts a photo, her server creates a signed action token. This token can be delivered to Bob’s server (federation), verified as authentic (no trust required), and displayed in Bob’s feed. If Alice’s server goes offline, Bob still has a cryptographic proof that Alice created that post.
Key benefits:
- Portable identity: Your actions follow your identity, not a server
- Trustless verification: Anyone can verify authenticity without trusting intermediaries
- Censorship-resistant: No single entity controls your content
- Offline-capable: Actions can be verified without network access
Each Action Token is:
- Cryptographically signed by its creator.
- Time-stamped with an issue time.
- Structured with relevant metadata about the action.
Action tokens are implemented as JSON Web Tokens (JWTs), content-addressed by the SHA-256 hash of the complete token. See Content-Addressing & Merkle Trees for how action IDs, file IDs and blob IDs chain into a verifiable tree.
Which Token Do I Need?
Start with the category:
| You want to⦠| Category | Where |
|---|---|---|
| Publish, share, comment on or react to content | Content | Content Actions |
| Follow someone, or connect with them mutually | User Relationships | User Relationships |
| Run a conversation: messages, membership, invitations | Communication | Communication |
| Attach statistics, approvals, presence or file shares to something that already exists | Metadata | Metadata |
Then the type. These nine carry most of the traffic:
| Type | Does | References | Notes |
|---|---|---|---|
POST |
Publishes content to your wall | β | Fans out to your followers |
CMNT |
Comments on something | p parent |
Forms true threads; inherits the parent’s audience |
REACT |
Reacts (like, emoji) | sub subject |
One per user per target β a second one replaces the first |
CONN |
Requests a connection | aud audience |
Mutual: a connection exists once both sides have issued one |
FLLW |
Follows a profile | aud audience |
One-directional; no acceptance needed |
CONV |
Opens a conversation | β | Container: sets visibility S and relays its children |
MSG |
Sends a message | p parent |
Direct message with aud, or conversation message under a CONV |
SUBS |
Joins a subscribable action | sub subject |
Membership in a conversation |
INVT |
Invites someone to join | sub subject |
Accepting it creates a SUBS |
Unsure whether to use p or sub? See Parent vs Subject β the choice decides whether your action joins a thread or merely points at one.
In This Section
Token Format - Every claim, visibility and audience resolution, the nine status codes, content-addressing, database keys and signing. The reference the other pages link back to.
Action Lifecycle - How a token is created, signed, delivered, verified on arrival, and activated; where native hooks run.
Action DSL - How action types are declared: field constraints, content schemas, key patterns and behaviour flags.
Then the four categories:
- Content Actions -
POST,REPOST,CMNT,REACT - User Relationships -
CONN,FLLW - Communication -
CONV,MSG,SUBS,INVT - Metadata -
STAT,APRV,PRES,FSHR,IDP:REG
See Also
- Token Format - The wire format in full
- Action Delivery - How tokens reach other instances
- Federation Security - Verification, spam prevention and trust
- Actions REST API - Creating and retrieving actions over HTTP
- Content-Addressing & Merkle Trees - Action, file and blob ID chains
- Communities - Community-hosted content and relaying
- Access Control - How visibility is enforced