Lortnoc Tahc 01 · Storage
Sui · Walrus · Seal

Every message encrypted, anonymized, and stored immutably.

On a network that can’t read what it’s holding, behind a rule anyone can audit.

Why it matters

If we hold your messages, we can be made to hand them over.

Chat Control is one law. The next order lands on whoever runs the service. A privacy app that keeps a readable copy hasn’t stopped the surveillance — it has moved it somewhere easier to compel.

So we hold nothing. No plaintext. No key. Nothing worth seizing.

Why Seal, and not our own encryption

We could encrypt it ourselves and tell you the rules. Seal makes the rule a public program instead — seal_approve, running on Sui, that anyone can read.

That’s the difference between trust us and check for yourself.

How it works

  1. Batch. Messages group into one blob with Quilt — up to 420× cheaper than storing them one by one.
  2. Encrypt. Seal threshold-encrypts the batch. No single party holds the key.
  3. Scatter. Walrus erasure-codes it across the network. Every node holds a fragment it can’t read.
  4. Point. A Sui object tracks the current blob. Blobs never change; only the pointer moves.
  5. Find. Your ENS record points at the index, so any device with your secret rebuilds your inbox.
  6. Open. Decrypted in your browser, with a key derived on your device. Reading your own history is always free.

Why not 0G Storage

We looked at it seriously — it would have put storage on the same chain as everything else, which is tidy.

But it has no Seal. No threshold encryption with an on-chain policy, which is the entire point above. Walrus also has the stronger durability record, and the small-object batching that chat-sized writes live or die on.

0G earns its place elsewhere →

Specifics

StorageWalrus — erasure-coded, self-healing, immutable
EncryptionSeal threshold encryption
Access ruleseal_approve, a Move function on Sui
BatchingQuilt
PointerConversationHead Sui object
Your keyid_seal, derived on-device, never transmitted
What we don’t claim

Walrus is a durable log, not a realtime bus. Delivery is polling today.

One writer per conversation, for now. Concurrent writes would contend.

The access rule runs in its fallback form — a short-lived session key issued against a valid proof. Nullifier-in-policy is next, not shipped.