Sentient Identity
Cryptographic human identity for conscious entities
OctoMY's Sentient Identity (SID) system provides cryptographic identity for human operators — and any conscious entity in the future.
What is a Sentient Identity?
A Sentient Identity (SID) is a cryptographic identity representing a human operator. It owns one or more Node Identities (NIDs) — the personalities a robot assumes.
Key properties:
- Auto-created — a shadow SID appears on first boot, no setup needed
- Cryptographic — Ed25519 keypair derived from a BIP39 recovery phrase
- Encrypted — all data stored in an encrypted hive (Shufflecake volume)
- Progressive — starts passwordless, upgradeable to password-protected
Why "Sentient"? We chose this over "Person" or "User" because it encompasses any conscious entity — humans today, and any being capable of subjective experience in the future.
Shadow vs Full Sentient
| Shadow (SSID) | Full (FSID) | |
|---|---|---|
| Password | None | User-chosen (20+ chars) |
| Security | Physical access only | Password + encrypted hive |
| Identicon | Ghost shape | Normal face |
| Created | Automatically on first boot | User upgrades from shadow |
| Device owner | No | First to set password |
The ghost identicon (faded, wavy-bottomed face) is the visual indicator that you're using a shadow identity. Tap it to upgrade.
SID vs NID
| Aspect | Sentient Identity (SID) | Node Identity (NID) |
|---|---|---|
| Represents | A human operator | A robot personality |
| Created | Auto (shadow) or manual | Via delivery wizard or menu |
| Owns | NIDs, hive, recovery phrase | Config, trust, firmware settings |
| Switching | Locks hive, changes encryption | Changes active personality |
| Storage | SentientVault in hive | Per-NID folder in hive |
One SID can own multiple NIDs. NIDs are mutually invisible — "Gustav" and "Johnny" on the same device never see each other's config or peers.
Components
SentientVault
Secure storage inside the encrypted hive containing:
- Ed25519 signing keypair (derived from BIP39 recovery phrase)
- Display name and identicon parameters
- BIP39 recovery phrase (12 words, stored encrypted)
- Known sentient contacts
SentientCard
A shareable identity bundle with disclosure levels:
| Level | Shared |
|---|---|
| Minimal | ID + public key (anonymous but verifiable) |
| Basic | + display name |
| Full | + identicon + attributes |
Cards are signed for authenticity and can expire.
Face Identicon
A unique 16x16 pixel-art face generated deterministically from the SID's public key. Each face has unique hair, skin, eyes, mouth, freckles, and blush. The identicon appears in the Lanyard, contact lists, pairing UI, and profile badges.
Shadow sentients show a ghost identicon (wavy bottom edge, cut corners) with the tooltip "Shadow identity — not password-protected."
How It Works
First Boot (Automatic)
- App launches →
StartupStateMachinefinds no identity, runs the §SP-1 silent auto-create - BIP39 recovery phrase generated (12 words)
- Ed25519 keypair derived from phrase; SID =
sha256(publicKey) - Sentient hive created with the typed on-disk id
SID-<sid-hex>and mounted with an internal shadow passphrase - Shadow sentient created with a
SentientNameGeneratorrandom name (e.g.curious_otter) + ghost identicon - Optional upgrade prompt fires once via
SecurityUnboxingActivity(Set a passphrase or Skip) - Ready to use — first-boot is interruption-free past that single optional prompt
See the First Boot how-to for the full walkthrough.
Typed-Hive Taxonomy
Hives on disk carry their type and owner in their identifier (§HT-1):
| On-disk id | What it stores | Display |
|---|---|---|
SID-<sid-hex> |
A sentient's vault, contacts, and per-node hive keys | Looks up the owning sentient and renders their friendly name + identicon |
NID-<nid-hex> |
A node's per-node data — NodeStore folder, OPAL history db, courier blobs | Looks up the owning node and renders its friendly name + identicon |
| Free-form name | General-purpose hive (future) — user-named, not tied to a sentient/node | Renders the literal name; no identicon |
The user never sees the raw SID-<hex> / NID-<hex> strings — every UI surface (Lanyard, lobby activities, status widgets) looks up the owning entity and renders its display name. Renaming a sentient updates the display everywhere without changing the on-disk id; nothing has to be re-mounted.
This taxonomy replaces the pre-spec "System" hive name. Pre-makeover installations carried a literal "System" hive owned by the device's primary sentient; post-spec each sentient's hive carries the SID-derived id and there is no privileged System slot. The auto-create path in §SP-1 produces the first SID-<hex> hive without ceremony — the user sees their friendly name, never the system internals.
Upgrading to Full Sentient
- Tap the ghost identicon in the navigation bar
- Optionally change your display name
- Set a password (20+ characters)
- Hive header re-encrypted with your password (O(1) operation)
- You become the device owner (Capture the Flag)
- Ghost identicon transitions to normal face
Sharing Your Identity
- Open Sentient from the navigation bar
- Tap Share Identity
- Choose disclosure level
- Share via QR code or clipboard
Privacy by Design
- No real name required — SID is an opaque hash
- No central authority — no server, no email, no phone number
- Recovery phrase is the backup — 12 words written down, kept safe
- Device-independent — enter recovery phrase on any device to restore
- Multiple identities — future support for separate work/personal SIDs
- Preview the card that will be shared
- Click Create Card to generate a QR code
- Share the QR code with your contact (in person or via screenshot)
- Optionally click Copy to Clipboard for the card data
Pro Tip
For maximum privacy, start with Minimal disclosure. The recipient can verify you're a consistent identity without knowing your name. You can always share a more detailed card later.
Managing Contacts
To view and manage your contacts:
- Navigate to Sentient in Hub's main menu
- Click Contacts
- Browse your contact list
Each contact shows:
- Their identicon
- Their display name (or "Anonymous")
- Trust status (Pending, Accepted, Trusted, Blocked)
- Last seen time
Click a contact to view details and manage the relationship.
Trust Levels
You can set trust levels for each contact:
| Level | Meaning |
|---|---|
| Pending | They shared with you, awaiting your decision |
| Accepted | You've acknowledged this identity |
| Trusted | Higher trust (e.g., verified in person) |
| Blocked | Rejected - won't receive messages from them |
Pending Requests
When network sharing is enabled, the Pending badge shows how many contacts are awaiting your decision. Click it to review and accept or reject each request
Security Considerations
Key Storage
Your private key is:
- Encrypted at rest with your account key
- Decrypted only in memory when needed
- Never transmitted over the network
Key Loss
Important: If you lose your private key, you lose your Sentient identity. There is no recovery mechanism (by design - this prevents identity theft).
Consider:
- Backing up your account securely
- Future: mnemonic phrase backup
Verification
Others can verify you are who you claim by:
- Challenge-response cryptographic proof
- You sign a random challenge with your private key
- They verify against your public key
Hive Integration
Your Sentient identity is stored inside the encrypted Hive filesystem:
- Encrypted storage: Your vault and contacts are stored at
/.octomy/sentient/inside the mounted hive volume, protected by the hive's ShufflecakeVolume encryption - Authentication: You must unlock a Hive before accessing Sentient features
- Lanyard: The top-right corner of the Hub carries three controls — a bare-glyph hive button (visible only when a hive is mounted), the sentient chip (green, with your face identicon), and the node chip (blue, with the node identicon). Clicking the sentient chip opens
SentientLobbyActivityfor switching, renaming, or upgrading; clicking the hive button opensHiveLobbyActivity - Session: Only one Hive and one Sentient can be active at a time
- Auto-focus: When mounting a hive, the passphrase input receives focus automatically
When switching Sentients, the current session closes first with a confirmation prompt.
Current Status
The Sentient Identity system is functional with the following features:
- Identity creation and profile management
- Card-style profile badge with inline editing
- Unique 16x16 pixel-art face identicon for each sentient, displayed throughout the UI
- Identity sharing via QR codes with disclosure levels
- Contacts database with trust management
- Hive-integrated session and authentication
- Sentient data stored inside encrypted hive volume
- Identity lab — parameter explorer for the face / iris / node identicon generators (reached from
IdentityAssetsActivitytoolbar)
Coming in future updates:
- Ed25519 keys are now available (
EdKeyclass, Phase 3 of encryption spec). Default algorithm switch deferred to Phase 4 of algorithm-agnostic-keys spec - Network sharing via paired nodes
- Challenge-response identity verification
- End-to-end encrypted messaging between sentients
- Multiple sentients per account
Component Reference
| Component | Description |
|---|---|
Sentient |
Core identity data structure |
SentientCard |
Shareable identity bundle with disclosure levels |
SentientVault |
Encrypted storage for identity and contacts |
SentientRelationship |
Contact data structure with trust levels |
KnownSentients |
Contacts database (SimpleDataStore) |
SentientIdenticon |
16x16 pixel-art face generator (39 parameters, deterministic from ID hash) |
SentientIdenticonWidget |
SvgWidget subclass for displaying face identicons |
SentientBadge |
Card-style profile display widget (uses face identicon) |
SentientCardWidget |
Reusable card display with QR option |
SentientListItemWidget |
Contact list item widget (uses face identicon) |
CreateCardWidget |
Disclosure level selector with preview |
ShareSentientWidget |
QR code share screen |
SentientActivity |
Main sentient profile activity |
KnownSentientsActivity |
Contacts list activity |
SentientDetailActivity |
Contact detail view |
CreateCardActivity |
Card creation wizard |
PendingRequestsActivity |
Pending contact requests |
SentientIdenticonEditorActivity |
Debug editor for identicon parameters |
HiveSession |
Session manager tying Hive + SentientVault |
SentientMetadataCache |
Non-sensitive display cache outside encrypted hive |