CryptKB

Send ciphertext, not assumptions.

Encrypt the message first. Review what is inserted. Then tap Send yourself.

CryptKB is a privacy-focused iOS app, custom keyboard, and Messages extension that encrypts message text locally with password-based AES-256-GCM before it ever leaves the device. Recipients can decrypt the same payload locally with the matching password in CryptKB’s keyboard or Messages extension.

Offline-only app logic
AES-256-GCM
PBKDF2-HMAC-SHA256
Manual send, by design
Face ID / passcode protected saved passwords optional
Platform honesty: Apple does not allow a third-party keyboard to tap the Messages Send button or add a custom decrypt action to the long-press menu on ordinary iMessage bubbles. CryptKB labels the keyboard action as Encrypt & Insert, previews what will be sent, and leaves the final Send tap to you.

Custom keyboard

Type plaintext with CryptKB, enter a per-message password, preview the resulting CRYPTBOARD:v1:... payload, and insert it into the active text field.

Messages extension

Open CryptKB inside Messages to stage native CryptKB bubbles, prompt for the password, and reveal decrypted plaintext in a local popup without rewriting the thread.

Recipient invite flow

The app includes an Invite Recipient to Join CryptKB link in the keyboard and decrypt popup so people can land here, review the privacy posture, and decide whether to install.

What CryptKB protects

  • Message content is encrypted locally before you manually send it.
  • Wrong passwords or tampered payloads fail closed instead of returning corrupted plaintext.
  • The ciphertext format is ASCII-safe and versioned for ordinary text fields.
  • Saved conversation passwords are off by default and require Face ID or passcode when enabled.

What CryptKB does not protect

  • Who is messaging whom, when messages are sent, or host-app metadata.
  • Messages screenshots, notification previews, backups, or a compromised device.
  • Recovery of lost passwords. There is no backend recovery path.
  • Automatic sending. CryptKB inserts ciphertext and waits for your manual Send tap.

Public Pages

Everything important is linked in public.

CryptKB’s website is intentionally small. It exists to explain the product accurately, publish a truthful privacy policy, and give users a direct support path.