What Cleaver Does · Private by design · Simple by default

Send sensitive files with confidence.

Cleaver encrypts files locally in your browser. Nothing is uploaded. You get a secure lock file and one portable key bundle—everything you need for a private handoff, without an account or cloud storage.

The process

From file to secure handoff.

  1. Choose a file. Cleaver reads it in the browser and never needs an upload endpoint.
  2. Enter a numeric PIN. The PIN selects and combines random key records inside the bundle to derive the AES key.
  3. Download every output. Keep the .lock file and its .bundle file.
  4. Decrypt later. Provide the lock file, the same PIN, and its key bundle to recover the original file.

What To Keep

Store the encrypted .lock file separately from its key bundle. Anyone decrypting needs the lock file, the PIN, and that one bundle.

What Cleaver Cannot Do

Cleaver cannot recover a lost PIN, missing key bundle, corrupted lock file, or overwritten download. Treat the generated files as the only recovery material.

Deployment Shape

The Go binary embeds the files in public/ and serves them over HTTP. Build once, copy the binary, and run it with the address you want to expose.

Encrypt File

Choose any file and set a numeric PIN. Cleaver creates the encryption key randomly in your browser.

No file selected.
Random key material is generated automatically and packed into one bundle. Your PIN and bundle are required to decrypt.

Downloads

Select a file and encrypt it. Your lock file and key bundle will appear here.
Cleaver cannot recover a lost PIN or missing key bundle.

Decrypt File

Select a Cleaver lock file and its key bundle together, then provide the PIN created during encryption.

No lock file selected.
Select a lock file to read its encryption metadata.

Result

Your decrypted file will appear here after a successful decrypt.

Edit Lock File

Unlock a text file in your browser. Paged Markdown files can be edited one page at a time, then exported with the same PIN and key bundle.

No lock file selected.

Render Markdown Lock File

Unlock a Markdown file stored in a Cleaver lock, then render it as a document with Goldmark.

No lock file selected.
Only lock files whose original file is Markdown can be rendered.

Rendered document

The rendered Markdown document will appear here.
Rendering sends the unlocked Markdown to this Cleaver server. It is processed in memory and is not stored.

Markdown Document Format

Format Markdown lock files as titled pages containing copyable dashed list items.

Page markers

Every page, including the first, begins with a line of at least three equals signs, a title on its own line, and another equals-sign line.

===
FIRST PAGE
===

# Header

- First copyable item
- Second copyable item

==========
SECOND PAGE
==========

# Another Header

- Another copyable item

The opening and closing marker lengths do not need to match. A line containing three or more equals signs is reserved for page markers and should not appear in page content.

Headings and copyable items

Use # for section headings. Put every value that should be independently copyable on a separate - list line. The spaces after # and - are required.

# Account Details

- Plain text
- **Important text**
- [A link](https://example.com)
- Run `example-command --option`

Rendered navigation

Page titles become page tabs. Each page also gets its own navigation for its # headings, and every rendered list item gets a Copy button.

Editing and alphabetizing

The editor presents one tab per page and allows its title and Markdown body to be edited independently. Alphabetizing sorts # sections within each page without mixing sections between pages.

Alphabetize Markdown Sections

Unlock a paged Markdown lock file, sort the # heading sections within each page, and export a new lock file using the same PIN and key bundle.

No lock file selected.
The Markdown must use titled page markers with sections beginning with single # headings.

Alphabetized lock file

The alphabetized Markdown will remain encrypted and appear here as a new lock file.
Section content stays attached to its heading. The original lock file is not changed.