Free & Open Utility

Encrypted messaging.
No server required.

Tessera is a command-line tool for end-to-end encrypted messaging using asymmetric cryptography. Generate keypairs, encrypt messages for your contacts, and sign your work — entirely on your machine.

tessera · cmd
# Create your identity tessera identity create alice Public key: MIIBIjANBgkqhkiG9w0BAQEFAAOC... # Add a contact with their public key tessera contact add bob MIIBIjANBg... # Encrypt a message for bob echo "Meet at noon." | tessera message encrypt bob alice gX4mP2nKsR7... ← ciphertext YzL9wQeAp1... ← signature # Bob decrypts and verifies tessera message decrypt bob alice < msg.txt Meet at noon. # Sanity-check the install tessera --self-test Self-test PASSED.

Everything you need. Nothing you don't.

A focused toolset built on proven RSA asymmetric cryptography — no accounts, no cloud sync, no telemetry.

🔑

Identity Management

Create named keypairs stored locally in a DPAPI-encrypted store. Your private keys never leave your machine. List and remove identities as your needs change.

👥

Contact Book

Store contacts by username and public key. No directory server — just exchange public keys out-of-band and add them locally. Contacts are stored separately from your private keys.

🔒

Encrypt & Decrypt

Encrypt any stdin payload for a contact's public key. Optionally sign it with your own identity so the recipient can verify authorship. Decrypt with your private key.

✍️

Sign & Verify

Produce a detached signature over any message using your private key. Recipients holding your public key can independently verify the message was unaltered and signed by you.

🛡️

Passphrase Cache

Your store is protected by a passphrase and encrypted with Windows DPAPI. A 10-minute session cache means you type your passphrase once per session, not once per command.

Self-Test Mode

Run tessera --self-test after install or migration to verify your cryptographic stack is working correctly. No passphrase or store required.

How it works

Three concepts. Five minutes to set up.

1

Create an identity

Generate an RSA keypair under a chosen username. The private key is stored locally; share only the public key.

shell
 tessera identity create alice
Public key: MIIBIjAN...
2

Add your contacts

Exchange public keys with whoever you communicate with — over email, chat, or any channel you trust — and register them locally.

shell
 tessera contact add bob MIIBIjAN...
3

Encrypt & send

Pipe any message through Tessera to encrypt it for a contact. Optionally sign it so they can verify it came from you.

shell
 echo "Hello" | tessera \
  message encrypt bob alice
gX4mP2nKsR7wQ...

Command reference

Every command Tessera supports, at a glance.

🪪 Identity

identity create <username>

Generates a new RSA keypair and prints the public key.

identity list

Lists all stored identity names.

identity delete <username>

Permanently removes an identity and its private key.

👥 Contact

contact add <username> <public_key>

Registers a contact with their base-64 encoded public key.

contact list

Lists all registered contact names.

contact remove <username>

Removes a contact from the local contact book.

✉️ Message

message encrypt <contact> [<identity>]

Encrypts stdin with the contact's public key. Optionally signs with your identity's private key — two output lines: ciphertext and signature.

message decrypt <identity> [<contact>]

Decrypts stdin with your identity's private key. Optionally verifies the signature against a known contact.

message sign <identity>

Signs stdin with your private key and outputs the message and signature as separate base-64 lines.

message verify <contact>

Verifies the signature and recovers the original plaintext, or throws if the message was tampered.

⚙️ Options

--self-test

Generates a throwaway keypair, encrypts a known string, decrypts it, and prints PASS or FAIL. No passphrase or store required. Ideal for verifying an install.

What's coming next

Tessera CLI is free forever. Paid products built on top will follow.

Tessera for Windows

A native WinForms application wrapping the same cryptographic core in a polished GUI. Manage identities and contacts visually, compose and read encrypted messages without touching a terminal.

  • Visual key management dashboard
  • Compose, encrypt and send in one window
  • One-click clipboard copy for encrypted output
  • System tray integration
Notify me when available — contact us

Tessera Integrations

Bring end-to-end encryption to the platforms your team already uses. Tessera integrations for Slack and Discord will let you encrypt and decrypt messages inline, without leaving your chat client.

  • Slack app — encrypt messages from the composer
  • Discord bot — decrypt in-channel with a reaction
  • Shared team contact books via integration settings
  • Zero server storage of private keys
Notify me when available — contact us

Download Tessera — free, forever.

A single executable for Windows. No installer, no runtime, no account required.

Requires Windows 10 or later · .NET 8 runtime · No installer needed