Kimosabe.AI

Gamification — Curate Your Brain

Kimosabe's tagline is a promise: the more deliberately you use the product, the better your communications hygiene gets. Gamification turns that promise into a visible ladder users can climb — without ever measuring or rewarding behavior we cannot see.

Core principle

If we cannot compute it from ciphertext or self-attestation, we do not measure it.

We never count messages sent, words typed, attachments shared, or sentiment. Those are private. We can count locally-computed signals the user opts to share, and we can reward security-hygiene actions the server can verify (key rotation, recovery-key download, passkey enrollment).


The Curation Ladder (5 ranks)

Rank Name Unlock criteria Cosmetic
1 Initiate Account created. Recovery key downloaded. Bronze Metatron mark
2 Apprentice 1 verified contact (safety number compared) + first conversation TTL set Antique-gold mark, faceted
3 Adept 5 verified contacts + passkey enrolled (when shipped) + recovery key rotated once Gold mark with inner glow
4 Curator 10 verified contacts + 1 group with all members verified + at least one agent connected Animated mark on hover
5 Sentinel 25 verified contacts + own-agent attestation + completes annual security checkup Custom signature mark on profile

All ranks are earned through hygiene, not volume. A Sentinel might send 5 messages a year.


Streaks (privacy-safe variant)

Traditional streaks measure activity. Ours measure uninterrupted hygiene:

  • 🔐 Vault streak — consecutive months with zero password resets. Resets when password changes.
  • 🔁 Rotation streak — consecutive 90-day windows where the recovery key was rotated on schedule.
  • ✅ Verification streak — every new contact in the last 30 days has a verified safety number.

Streak counters are computed and stored client-side in IndexedDB. They never reach the server. Users can opt to attest a streak to the server for badge display; the attestation is a signed claim, not an audit trail.


Badges (one-time)

Badge Earn condition
Day-One Account created in Phase 1
Witness First contact verified via safety number
Forager Imported identity from a backup file
Lighthouse Helped a contact recover via recovery-key signal
Owner Hosted your own agent (not Agent-as-Service)
Watchtower Reported a verified vulnerability (CVD program)
Quiet 30-day streak with all conversations on disappearing messages

Badges are non-transferrable, displayed only on your own profile by default, and can be selectively revealed per-contact.


Anti-patterns we refuse

  • ❌ Engagement metrics. No "messages sent today." That's the surveillance economy in a friendlier hat.
  • ❌ Leaderboards across users. Privacy collapses the moment we rank people.
  • ❌ Read-receipt-driven scoring. Receipts are opt-in per conversation; they do not feed any score.
  • ❌ Push-to-shame nudges. No "you haven't messaged Alice in 30 days." We are not a habit-loop product.
  • ❌ NFTs / on-chain badges. Public chains are the opposite of our threat model.

Onboarding hooks

The first run of the app surfaces three deliberate moments:

  1. Save your recovery key — completes Initiate rank immediately. Tactile: download + copy + "I've stored it" attestation.
  2. Add and verify your first contact — opens the Apprentice path with a clear "compare these 6 numbers" UX.
  3. Set a default conversation TTL — frames disappearing messages as the norm, not the exception.

Each step is skippable. None blocks core functionality. All persist locally so users can resume.


Telemetry we do collect (with consent)

Aggregate, k-anonymized, opt-in:

  • App version distribution
  • Crash reports (no message content, ever)
  • Feature-flag exposure for A/B safety messaging copy

Off by default. Toggle in Settings → Privacy.


Implementation notes

  • Ladder + badge logic lives in src/lib/curation.ts (Phase 2 — not yet created).
  • Persistent state: IndexedDB (kimosabe.curation) + an attested mirror in public.curation_attestations (signed by the user's identity key).
  • Display: /_authenticated/profile — own profile only by default; per-contact reveal is a one-tap action.
  • All copy lives in src/lib/i18n/curation.ts to ease translation.

Roadmap mapping

Phase Gamification surface
1 Initiate rank + Day-One / Quiet badges (recovery-key + TTL hooks already exist)
2 Apprentice + Adept ranks; safety numbers; passkey badge
3 Curator rank; agent badge; identity attestation badge
4 Native-client streak parity (same IndexedDB schema in app)
5 Sentinel rank; annual security checkup flow

We will not ship a single ladder UI before Phase 2 — ranks 2+ depend on safety numbers, which depend on group/identity work scheduled there. Phase 1 ships the Initiate rank invisibly via the existing recovery-key flow.