ClanIt | Security
ClanIt logoClanIt ← Back to home
Zero Knowledge

We can't read your data. By design.

Everything is encrypted on your phone before it goes anywhere.

Three promises, and how we keep each one.

1Only you hold the keys1 of 3

Here is the same passport, the way you see it and the way our servers see it.

What you see
My Passport
Full nameDash Dad
Passport number502 771 943
Expiry date4 Oct 2031
Attachmentpassport-scan.jpg
Decrypted on your phone, only for you and the people you share it with.
What we see
Item ID7f3a9c2e-41d8-4b6f-9e0a-c5d21b8f6e34
AES-GCM:9f2KqLx0VbR7mT3wYc8NaE1pZs4UhD6jGo5Fi2XeQrWlBk0tMv9Cy7Hn3Ja8SdP1uZx6Lw4Ke2Rb5Tg0Vm7Nc9Qy3Ha1Fs8Dp6Jo2Ui4Ze7Wk0Lx5Rt9Bv3Mn1Gc8Yq6Ea2Ps4Tj7Hd0Kf5Xw9Cz3Lb1Nm8Vr6Qg2Su4Ao7Ye0Ti5Dk9Hp3Wx1Mj8Fn6Cb2Rl4Gs7Qv0Zu5Et9Ky3Na1Ph8Jd6Lo2Bw4Xm7Uf0Vc5Si9Rq3Ty1Gk8Hz6En2Ma4Dl7Wb0Pj5Cx9Ns3Fo1Kq8Yv6Ji2Lu4Ht7Zr0Bg5Oe9Xd3Tw1Pk8Mc6Sa2Vy4Gn7Qf0Rj5Ul9Iz3Eb1Do8Wh6Ks2Cm4Pv7Nt09f2KqLx0VbR7mT3wYc8NaE1pZs4UhD6jGo5Fi2XeQrWlBk0tMv9Cy7Hn3Ja8SdP1uZx6Lw4Ke2Rb5Tg0Vm7Nc9Qy3Ha1Fs8Dp6Jo2Ui4Ze7Wk0Lx5Rt9Bv3Mn1Gc8Yq6Ea2Ps4Tj7Hd0Kf5Xw9Cz3Lb1Nm8Vr6Qg2Su4Ao7Ye0Ti5Dk9Hp3Wx1Mj8Fn6Cb2Rl4Gs7Qv0Zu5Et9Ky3Na1Ph8Jd6Lo2Bw4Xm7Uf0Vc5Si9Rq3Ty1Gk8Hz6En2Ma4Dl7Wb0Pj5Cx9Ns3Fo1Kq8Yv6Ji2Lu4Ht7Zr0Bg5Oe9Xd3Tw1Pk8Mc6Sa2Vy4Gn7Qf0Rj5Ul9Iz3Eb1Do8Wh6Ks2Cm4Pv7Nt0
One sealed blob, encrypted before it left your phone. Unreadable to us.
Even our founder can't tell his wife's passport from a stranger's.
To us, it's all ciphertext. And that's our entire database: encrypted record after encrypted record, meaningless without your keys.
Search

Search never leaves your phone.

Search runs entirely inside the app. Nothing you type, and nothing it finds, is ever sent to us.

Try it: switch on airplane mode and search. It still works, because there is nothing to send.

Built when you unlockThe index is built in memory each time you unlock, and again after each sync. It is never saved to your phone.
Gone when you leaveThe moment the app goes to the background, the index is wiped from memory.
Sensitive fields skippedFields marked sensitive are never indexed. Your phone's own search only ever sees tile names.
2A lost phone opens nothing2 of 3
Recovery

We can't reset your access. That's the point.

Most apps can let you back in because they hold the keys. We don't, so recovery rests on something only you know.

Your memorable word

You choose it at setup and it never leaves your phone. We hold a sealed recovery copy of your key that only your word can open.

A new phone

Sign in, prove your memorable word, and your keys are restored onto the new phone, ready to sync.

The hard limit

Lose every trusted device and your memorable word, and no one can recover your content, including us. We accept that rather than keep a backdoor.

Trusted devices only

A device is trusted only after proving your memorable word. Revoke a lost one and it loses access the next time it connects.

3Only the real app gets in3 of 3
Genuine-app checks

Apple and Google vouch for every request.

Every request to our servers has to prove it comes from the genuine, unmodified ClanIt app on a real device. Apple and Google vouch for that, using attestation built into iOS and Android. Tampered copies, emulators and scripts are turned away before they reach anything.

Apple · iPhone and iPadApp Attest ↗How Apple confirms a request comes from a genuine app on a genuine device. Google · AndroidAndroid Key Attestation ↗How Google confirms a request comes from a genuine app on a genuine device.
Engineering

Security beyond encryption

Zero knowledge protects your content. Everything else is built on the assumption that phones get lost, requests get replayed and PINs get guessed.

Device trustEvery device has its own cryptographic identity. Joining a clan and adding a device are signed, and a revoked device drops out of the trust relationship for good.
Request integrityApp attestation, certificate pinning, replay protection and server-side authorization each apply independently. A valid account or a known endpoint is never enough to make a trusted request.
Abuse resistanceSign-in, recovery and sensitive actions are rate limited, with lockouts shared across devices, so switching phones doesn’t reset the count.
Self-healing by designBackground jobs continuously repair incomplete operations, expire temporary access and clean up abandoned data, so nothing depends on every step succeeding the first time.
Visibility without contentTelemetry, fault fingerprinting and alerts tell us when the platform is unhealthy, without your content, keys or wrapping material ever reaching our logs.
Deleted means deletedOnce key material is destroyed, any remaining ciphertext, backups included, can never be decrypted again.
How the lock works

A lock, a key, and an envelope.

ClanIt
Set up ClanIt
→
A public and a private key
→
••••
Your PIN seals the private key
→
It never leaves your phone
Step 1

Your keys are made on your phone.

When you set up ClanIt, your phone makes a pair of keys. The private one is sealed by your PIN and stays on your phone. We never get a readable copy.

Curve25519 key pair · private key sealed under a PIN-derived key on your device
Your passport
→
A new key, just for this item: the DEK
→
Locked with that key
Step 2

Every item gets its own lock.

Each tile item is locked with its own brand-new random key, called a DEK (Data Encryption Key). Break one, and you still have nothing else.

Data Encryption Key (DEK) · AES-256-GCM, unique to every item
The item's key
→
Sealed by your KEK
→
Stored with us. Unreadable.
Step 3

That key goes in an envelope only you can open.

The item's DEK is sealed in an envelope by your public key, the KEK (Key Encryption Key), so only your private key can open it. We store the locked item and the sealed envelope, and we can open neither.

Envelope encryption · the DEK is wrapped by your public key, the Key Encryption Key (KEK)
The item's key
→
Sealed for Mom's phone
→
One item, two envelopes
→
Remove Mom: envelope gone
Step 4

Sharing is just one more envelope.

Share with Mom and her phone gets its own envelope holding the item's key. The item is never copied or re-locked. Remove her, and her envelope is deleted. Her phone clears its copy on its next sync.

DEK wrapped once per device · access revoked on next sync
••••
Enter your PIN
→
Unlocks your private key
→
Opens the envelope
→
Your passport, readable
Step 5

Only your phone can open it.

Your PIN, or Face ID or fingerprint, unlocks your private key, which opens the envelope, which unlocks the item. All of it happens on your phone. Nothing readable ever reaches us.

Private key unwraps the DEK, the DEK decrypts the item · all on device, key wiped when the app goes to the background

For the technically curious

Content encryptionAES-256-GCM, a unique Data Encryption Key (DEK) per item
Key exchange & wrappingEnvelope encryption: each DEK wrapped by a Curve25519 Key Encryption Key (KEK), per device
Private key storageSealed under a PIN-derived key with a random salt, on your device
IdentitySign in with Apple or Google. No passwords, no email stored
App integrityApp attestation on iOS and Android
Certificate pinningThe app trusts only ClanIt's own server key, so a fake or intercepted connection is refused
Rate limitingSign-in, recovery and memorable-word attempts are throttled, with lockouts that hold across every device
LogsRecord that something happened, never what. No content, keys or wrapping material
SearchRuns entirely on your device, so it even works in airplane mode. The index is built in memory each time you unlock and after each sync, never saved or sent to us, and wiped the moment the app goes to the background. Fields marked sensitive are never indexed, and your phone's own search sees tile names only
Data at restCiphertext only. No recoverable backups

Security you don't have to think about.

Set a PIN, add what matters, and let the encryption work quietly underneath.

Get ClanIt