Website profiles · Technology insights · Alternatives

vernam.app

Free, open-source, fully client-side file encryption. Drop a file, set a passphrase, done, or open a .vrn file someone sent you. Nothing is ever uploaded. XChaCha20-Poly1305 + Argon2id. By PrivacyTools.io.

No paid content found
Visit website
Profile views 3 Outbound visits 1 Normal
VERNAM Full homepage screenshot

At a glance

Category
Security & Privacy
Language
English
Paid-content signal
No paid content foundObserved
Registered
2026
Hosting
CloudflareInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is VERNAM?

VERNAM is a free, open-source tool that encrypts and decrypts files directly in your web browser. You drop a file onto the page, set a passphrase, and get an encrypted copy; to open a file someone sent you, you drop it in with the same passphrase. According to the site, nothing is uploaded, no account is needed, and it works offline.

It's aimed at people who want to send or store a sensitive file — a contract, a scan of an ID, a backup — without handing it to a cloud service. The encryption uses XChaCha20-Poly1305 with Argon2id key derivation, and the passphrase is the only key: it isn't stored anywhere, so a wrong or forgotten passphrase means the file can't be recovered. An optional "high security mode" makes each brute-force guess more expensive but needs more memory, which the site says isn't suited to low-RAM devices. Because it's open source, you can read the code or host it yourself.

As a practical next step, decide based on how you'll share the file: if you can pass the passphrase to the recipient through a separate channel (a call, a different messaging app), browser-based encryption like this fits well; if you need password recovery or team key management, it doesn't. The site's own passphrase generator produces six BIP39 words, which is a reasonable default if you don't already have a strong one. For broader context on privacy tooling, see PrivacyTools.

How do I decrypt a .vrn file that someone sent me?

Open the VERNAM website in a browser with JavaScript enabled, drop the .vrn file onto the page, and enter the exact passphrase the sender used. The page auto-detects whether a dropped file should be encrypted or decrypted, so there is no separate "decrypt" mode to find. The decrypted file is produced locally in your browser; nothing is uploaded.

The passphrase is the only key. It is never stored, so a wrong or mistyped passphrase simply fails with no recovery option. Ask the sender to resend it through a different channel than the one that delivered the file, and copy it exactly, including spacing and capitalization if it is a generated word list.

Practical checks before you start

  • Use a desktop browser if possible. Decryption runs Argon2id key derivation in the browser, which can be slow or memory-hungry on phones and low-RAM devices. A laptop handles it more comfortably.
  • Keep the tab open. Key derivation can take a moment; closing the tab mid-process means starting over.
  • Verify the source of the file. Client-side decryption protects the file in transit and on the server side, but it does not tell you who sent it. Confirm with the sender out of band that they actually sent a .vrn file.
  • Expect no preview. The decrypted output is a file download, not an in-browser viewer, so you will need the right application to open whatever format comes out.

If it fails

A failure message almost always means a passphrase mismatch rather than a corrupted file, because each chunk is authenticated. Re-enter the passphrase carefully rather than retrying variations blindly. If the sender used the "high security mode" option, decryption will be correspondingly heavier; a low-memory device may struggle even with the correct passphrase.

For background on the design and the open-source code, see VERNAM and Privacy Guides, which covers client-side encryption tools and their trade-offs in more depth.

Is it safe to enter my passphrase into a browser-based encryption tool?

It depends on the tool. A browser-based encryptor is only as safe as the code it actually runs, and "runs locally" is a claim you should be able to verify rather than take on trust. VERNAM is designed around that model: its page states that encryption happens inside the browser, files and passphrases never touch a server, there is no account, and the code is open source and self-hostable. If those statements hold, entering a passphrase there is no more exposed than typing it into any other local app.

What makes a passphrase entry acceptable

  • No upload path. The page says nothing is uploaded and the tool works offline, which you can test by disconnecting your network after the page loads.
  • Client-side key derivation. VERNAM describes stretching the passphrase into a 256-bit key with Argon2id and sealing the file with XChaCha20-Poly1305 in chunks, so tampering is detected. That is a sensible, modern design.
  • No recovery by design. The passphrase is the only key and is never stored, so a wrong passphrase simply fails. That protects you from the operator, but it also means a forgotten passphrase loses the file permanently.
  • Auditable code. Open source lets a technical user read exactly what happens to the passphrase. A non-technical user is still relying on the reputation of the publisher (here, PrivacyTools.io) and on others having reviewed it.

Where the real risks sit

The main threats are not the cipher but the surroundings: a compromised or malicious browser extension, a tampered copy of the page served by a hostile network, a shared or infected computer, or a passphrase weak enough to be guessed. VERNAM's dice generator draws six words from the BIP39 list (about 66 bits of entropy per the page), which is a reasonable default for most files. Its "high security mode" raises Argon2id to 256 MiB and 3 passes, making each guess costlier, but the page itself warns this is not recommended for low-RAM devices.

Practical next step

For a sensitive document, load the page, disconnect from the network, confirm it still encrypts, generate a passphrase with the dice, and write that passphrase down somewhere offline before you start. If you want a second opinion on the cryptography or the publisher's track record, check PrivacyTools and the project's public repository. If you cannot inspect the code and do not trust the publisher, a locally installed encryption tool you control is the safer choice.

What happens if I forget my passphrase—can I recover the file?

No. If you forget the passphrase, the encrypted file cannot be recovered—by you or by anyone else. VERNAM states that the passphrase is the only key, is never stored anywhere, and that a wrong passphrase simply fails to decrypt. There is no account, no server-side copy and no reset path.

What this means in practice

  • The passphrase is the whole key. If you lose it, the ciphertext stays unreadable. Decryption is all-or-nothing: the correct passphrase unlocks the file, anything else fails.
  • There is no backup to fall back on. Because nothing is uploaded and no account exists, there is no “forgot passphrase” email or recovery code to request.
  • Tampering is also detected. VERNAM encrypts and authenticates the file in chunks, so a corrupted or altered file fails rather than opening partially.

How to avoid locking yourself out

  1. Generate the passphrase with the built-in dice option. VERNAM draws six words from the BIP39 wordlist (about 66 bits of entropy), which is easier to write down accurately than a random character string.
  2. Store it separately from the file. Writing the passphrase on the same USB stick or in the same folder as the encrypted file defeats the purpose. Keep it in a password manager entry or on paper in a different place.
  3. Test before you rely on it. Encrypt a small throwaway file, then decrypt it with the passphrase you recorded. If that works, your record is correct.
  4. Keep a plaintext copy until the recipient confirms decryption. For files you send to someone else, hold the original until they report the file opened successfully.

Decision criterion

Use VERNAM when you can commit to safeguarding the passphrase yourself—for example, sending a sensitive document to a colleague over ordinary email, or archiving files on a shared drive. If you need a recovery path for a lost key (shared team vaults, long-term archives managed by others), client-side encryption with no key escrow is the wrong fit, and you should look at tools with managed key recovery instead. As general advice, decide who must be able to open the file if you are unavailable before choosing a no-recovery scheme.

For background on the cryptographic choices, the project credits PrivacyTools as its origin.

When should I turn on High security mode instead of the standard setting?

Turn it on when the file's sensitivity or lifespan justifies the extra wait and memory, and when you'll be encrypting on a device with plenty of RAM. In VERNAM's own description, High security mode makes each brute-force guess much costlier through heavier Argon2id key derivation (256 MiB memory, 3 passes), and the page warns it is not recommended for low-RAM devices. Standard protection is described as plenty for most files.

Practical cases for High security mode

  • Long-lived archives: tax records, medical documents, identity scans or backups you intend to keep for years, where an attacker might have a long time to guess.
  • Weak or reused passphrases: if you must use a passphrase you'll actually remember rather than the six-word generator, the heavier derivation buys back some margin. The stronger fix is still to use the generated passphrase.
  • High-value single files: contracts, key material, financial exports, or anything whose exposure would be costly.
  • Sharing with a recipient who will store it long-term: the setting is baked into the encryption, so the protection travels with the file.

When to stay on standard

  • Bulk or repeated encryption: the page notes key derivation can take a moment, and High security mode multiplies that per file.
  • Phones, older laptops or low-memory browsers: 256 MiB of derivation memory can stall or fail on constrained devices.
  • Short-lived transfers: a file you'll delete or re-encrypt within days gains little from the heavier setting.

A concrete scenario

A freelancer encrypting a signed client contract to email and archive for seven years: generate the six-word passphrase, switch on High security mode on a desktop, encrypt once. The same freelancer encrypting twenty draft images for a quick handoff: standard mode, one passphrase, done.

Decision rule

Ask two questions: will this file still matter in a year, and is this device comfortable with heavy memory use? Two yeses means High security mode. One yes means standard, plus a generated passphrase. Neither means standard and move on.

The passphrase remains the single point of failure in either mode; the page states it is never stored and there is no recovery, so write it down before you encrypt. If you want to check the implementation yourself, the project is open source and can be self-hosted via VERNAM.

How does VERNAM's encryption compare to tools like 7-Zip or GPG for protecting files?

VERNAM is a browser-based, no-upload option for encrypting individual files with a passphrase, while 7-Zip and GPG are general-purpose local tools whose encryption is one feature among many. For a one-off "seal this file and send it to someone" task, VERNAM is the simplest path; for archiving, scripting or working inside existing workflows, 7-Zip or GPG usually fit better.

Where they differ in practice

Aspect VERNAM 7-Zip GPG
What it protects Single files, encrypted in the browser Archives, with optional password protection Files or messages, typically for keys and signatures
Key model One passphrase per file; no recovery if lost Password on the archive Public/private key pairs, or symmetric passphrase mode
Setup None; open the page, drop a file Install the app Install and manage keys
Automation Not the focus; interactive use Command-line and GUI Strong scripting and email integration
Best fit Quick, ad-hoc sharing with someone non-technical Bundling many files into one protected archive Identity-based encryption, signing, developer workflows

VERNAM's page describes its design in concrete terms: files are processed entirely in the browser, nothing is uploaded, no account is needed, and it uses XChaCha20-Poly1305 with Argon2id key derivation. It also offers a high-security mode with heavier key derivation (256 MiB memory, 3 passes), which the page notes is not recommended for low-RAM devices. The passphrase generator draws six words from the BIP39 list, described as roughly 66 bits of entropy. Crucially, the passphrase is the only key and is never stored, so a wrong passphrase simply fails with no recovery.

Those details shape the comparison. VERNAM's strength is that a recipient needs nothing but a browser and the passphrase, which makes it well suited to sending a contract, scan or photo to someone who will not install software. Its trade-off is that it is deliberately narrow: one file at a time, no key management, no signing, and no recovery path. 7-Zip handles the "protect this whole folder" case and is familiar on Windows, but its encryption settings depend on the version and options chosen, and a shared password archive still requires transmitting the password separately. GPG is the most capable for key-based trust and signing, but it demands more from both sender and recipient; a colleague without keys will struggle.

A decision rule

Choose by recipient and volume. If you are sending one file to a non-technical person and want zero installation, VERNAM is the pragmatic choice, provided you send the passphrase through a separate channel and accept that losing it means losing the file. If you are archiving many files or working offline on a machine you control, use 7-Zip. If you need signing, key-based trust or scripted encryption, use GPG.

For a concrete example: a freelancer sending a signed PDF to a client could encrypt it with VERNAM, then read the passphrase aloud over the phone. The same freelancer backing up a project folder each week would be better served by a 7-Zip archive or a GPG-encrypted tarball in a script.

Related questions

More questions →
How Strong Is VERNAM’s Passphrase Generator?

VERNAM’s built-in generator draws six random words from the 2,048-word BIP39 list, producing roughly 66 bits of entropy. That is strong enough to resist brute-force guessing for file encryption, and the six-word format is practical to write down or memorize. The catch is that the passphrase is the only key: VERNAM does not store it, so if you lose it, the file cannot be recovered.

What the generator actually does

When you tap the dice icon on the VERNAM page, the tool selects six words at random from the BIP39 wordlist—the same 2,048-word list used for crypto wallet seed phrases. Each word contributes 11 bits of entropy (log₂ 2048 = 11), so six words give 66 bits total.

The page describes this as “strong enough to shrug off any brute-force attack, yet simple to write down or remember.” That trade-off is the design goal: a passphrase you can transcribe onto paper without errors, rather than a random character string you might mistype.

Why 66 bits is adequate here

The passphrase is not used directly as the encryption key. VERNAM stretches it into a 256-bit key with Argon2id, the memory-hard key-derivation function designed to make password cracking expensive. In standard mode the page describes “standard protection, plenty for most files.” High security mode increases the cost of each guess with heavier key derivation—256 MiB of memory and 3 passes—and the page notes it is “not recommended for low-RAM devices.”

So the effective security is the combination of 66 bits of passphrase entropy and the per-guess cost imposed by Argon2id. An attacker cannot cheaply test candidate passphrases; each attempt requires significant memory and computation.

How to use and store the passphrase

  1. Tap the dice to generate six words.
  2. Write the words down exactly, in order, before encrypting. The page warns: “Enter the exact passphrase this file was encrypted with. It is the only key, never stored anywhere.”
  3. Encrypt the file. Everything happens in your browser; the page states your files and password “never touch a server.”
  4. Store the written passphrase somewhere separate from the encrypted file—for example, a password manager entry or a physical note kept apart from the file’s location.

Common pitfalls

  • Assuming recovery exists. A wrong passphrase simply fails, and the page states “there is no recovery.” There is no account, no server-side copy, and no reset.
  • Retyping from memory at decryption time. Word order and spelling must match exactly. Keeping the written copy avoids transcription errors.
  • Using high security mode on a low-memory device. The page explicitly cautions against this; the heavier key derivation can be slow or fail on constrained hardware.
  • Confusing the generator with storage. Generating a strong passphrase does not save it anywhere. The strength only helps if you preserve the exact words.

What this means for your decision

If you want a passphrase you can back up on paper and still trust against offline guessing, the six-word BIP39 output is a reasonable choice, especially combined with Argon2id key stretching. If your threat model demands more margin, you can supply your own longer passphrase instead of using the generator—VERNAM accepts a passphrase you set yourself. Either way, plan your backup before you encrypt, because the passphrase is the only way back into the file.

What Are Open-Source UI Element Libraries and How Do They Differ From UI Frameworks?

An open-source UI element library is a collection of individual, ready-made interface pieces—buttons, cards, inputs, toggles, loaders—that you copy into your own project and adapt. A UI framework, by contrast, is a structured system of components, conventions, and often a theming layer that governs how your whole interface is built. The practical difference: an element library gives you a snippet; a framework gives you a way of working. If you need a polished button in ten minutes, reach for the element library. If you're building a 40-screen product with a team, you probably want the framework.

What "open-source UI element library" actually means

The term gets used loosely, so it helps to separate the parts:

  • Open-source: the code is publicly available, and the license tells you what you may do with it—copy, modify, redistribute, or use commercially.
  • UI element: a single, self-contained piece of interface, usually small enough to read in one sitting. A button with hover states, a pricing card, a search field.
  • Library: a browsable, searchable collection of those elements, typically contributed by many different people.

On a site like Uiverse, elements are shared by a community and written in plain CSS or Tailwind. You find one you like, copy the markup and styles, paste them into your project, and adjust colors, spacing, and text to fit. There's no package to install and no build step required—which is exactly the appeal, and also the source of most of the confusion.

Element library vs. UI framework: the core differences

Dimension Open-source UI element library UI framework / design system
Unit of reuse A single snippet you copy A component you import or call
Installation None; paste into your code Package install, config, sometimes a provider
Consistency Depends on you; each element may look different Enforced by shared tokens and APIs
Theming Manual edits per element Central theme/config file
Updates You own the copy; no upstream updates Version bumps bring fixes and changes
Accessibility Varies per contributor; must be checked Usually tested and documented
Best for Prototypes, landing pages, small sites, one-off needs Multi-page apps, teams, long-lived products
Learning curve Low—read the CSS Higher—learn the API and conventions

The table isn't a verdict. It's a map of trade-offs. Element libraries win on speed and freedom; frameworks win on consistency and maintenance.

Licensing and attribution: what to check before you paste

This is where people get into trouble, and it's worth slowing down for.

  1. Find the license. Every element or collection should state one. Common open-source licenses include MIT, Apache-2.0, and BSD. Some projects use copyleft licenses like GPL, which can impose obligations if you redistribute your code.
  2. Understand what the license permits. MIT and Apache-2.0 are permissive: you can typically use the code in commercial and closed-source projects. Copyleft licenses may require you to release derivative source under the same terms.
  3. Check attribution requirements. Permissive licenses usually require you to keep the copyright notice and license text somewhere in your project. That's a real obligation, not a formality.
  4. Look for per-element terms. On community sites, the site's overall terms and the individual contributor's stated wishes may differ. If a contributor asks for credit, honor it.
  5. When in doubt, ask or avoid. If a snippet has no license at all, you don't have clear permission to reuse it. Treat "no license" as "not open source," even if the code is publicly visible.

This article is general information, not legal advice. For commercial products with real exposure, have someone qualified review the licenses you're relying on.

How to use a community element in your project: a practical workflow

Here's a repeatable process that avoids most of the usual mess.

1. Start from a real need, not a browsing session

Decide what you need first—"a compact primary button with a loading state"—then search. Browsing aimlessly produces a pile of pretty snippets that don't fit together.

2. Copy the smallest version that works

Take the markup and the styles. Strip anything you don't need: demo wrappers, extra animations, decorative layers. Less code means fewer surprises.

3. Convert it to your conventions

If your project uses design tokens or CSS variables, replace hard-coded values:

/* Before: hard-coded */
.button { background: #4f46e5; border-radius: 8px; }

/* After: token-based */
.button { background: var(--color-primary); border-radius: var(--radius-md); }

This one step is what keeps a copied element from looking like a foreign object in your UI.

4. Check accessibility before you ship

Community elements vary widely here. Verify at minimum:

  • Keyboard focus is visible and the element is reachable by Tab.
  • Color contrast meets WCAG AA (4.5:1 for normal text).
  • Interactive elements use semantic HTML (<button>, not a clickable <div>).
  • Form inputs have associated labels.
  • Motion respects prefers-reduced-motion.

5. Test in context

Paste it into a real page with real content. Long labels, small screens, and dark mode break more copied elements than anything else.

6. Note where it came from

Keep a short comment or an internal credits file: source, license, date. Future you—and your legal reviewer—will be grateful.

Where element libraries genuinely shine

  • Prototypes and demos: you need something clickable today, not a design system.
  • Landing pages and marketing sites: a handful of distinctive elements, each custom.
  • Filling gaps: your framework lacks one specific component, and you don't want to build it from scratch.
  • Learning: reading well-made CSS is one of the fastest ways to improve.
  • Small projects: a personal site doesn't need a theming architecture.

Where they fall short

  • Consistency at scale: ten elements from ten contributors rarely look like one product.
  • Maintenance: you own every copy. When your design changes, you edit each one.
  • Accessibility debt: you inherit whatever the contributor did or didn't do.
  • No upstream fixes: a bug fixed in the original won't reach your copy.
  • Integration friction: different naming conventions, different units, different assumptions about resets.

When to choose which

Choose an element library when the scope is small, the timeline is short, or you need a few distinctive pieces rather than a whole system.

Choose a framework or design system when multiple people build multiple screens over months, when consistency is a product requirement, or when accessibility and theming need to be guaranteed rather than checked.

A hybrid works well for many teams: adopt a framework for the structural components—forms, navigation, layout—and borrow individual elements for the places where you want personality. Just route every borrowed element through the same token and accessibility checks, so it lands as part of your system rather than beside it.

The short version: open-source UI element libraries are a fast, flexible way to get good-looking interface pieces into a project. They are not a substitute for a design system, and the license and accessibility details are the part worth reading carefully.

What Is VERNAM and What Does It Do?

VERNAM (vernam.app) is a free, open-source file encryption tool that runs entirely in your browser. You drop in a file, set a passphrase, and get an encrypted copy back — the file and passphrase never touch a server. It is built by PrivacyTools.io and uses XChaCha20-Poly1305 for encryption and Argon2id for key derivation. It suits anyone who needs to send or store a sensitive file without creating an account or trusting a cloud service; it is not a password manager, a secure messenger, or a backup service.

What VERNAM actually does

The tool has one job: turn a file into an encrypted .vrn file, and turn a .vrn file back into the original. The page describes a single drop zone that auto-detects whether you are encrypting or decrypting, so there is no mode switch to get wrong.

  • Encrypt: drop a file, set or generate a passphrase, and download the sealed result.
  • Decrypt: open a .vrn file someone sent you and enter the exact passphrase used to create it.
  • No account, no upload: everything happens inside the browser tab. The page states plainly that files and passwords never touch a server, and that it works offline.

Because there is no server-side component, there is also no "forgot password" path. The passphrase is the only key and is never stored, so a wrong passphrase simply fails.

How the encryption works

The page lays out a four-step process, and understanding it explains both the security and the limits.

  1. You set a passphrase. You can type your own or use the built-in generator.
  2. The passphrase becomes a key. Argon2id stretches it into a 256-bit key. Argon2id is deliberately slow and memory-hungry, which makes guessing passphrases expensive.
  3. The file is sealed. XChaCha20-Poly1305 encrypts the file in chunks and authenticates each chunk, so tampering is detected.
  4. Only the passphrase opens it. The output is designed to be indistinguishable from random data.

The page notes these are the same algorithms used by Signal, WireGuard, and 1Password. That is a reasonable signal of maturity, but it describes the primitives, not an independent audit of this specific tool — the open-source code is the thing to review if you want to verify the implementation yourself.

The passphrase generator

Tapping the dice generates six random words from the 2048-word BIP39 list — the same wordlist behind crypto wallet seed phrases. The page puts this at roughly 66 bits of entropy, which it describes as strong against brute-force attack while remaining easy to write down. That trade-off is the point: a six-word phrase is far stronger than a short password and far easier to record accurately than a random character string.

High security mode

There is an optional toggle that makes key derivation heavier: 256 MiB of memory and 3 passes with Argon2id, versus the standard setting. The page frames it as making each brute-force guess far costlier and explicitly says it is not recommended for low-RAM devices. Use it when the file is highly sensitive and the machine can spare the memory; skip it on phones or older laptops where the tab may stall.

What it does not do

Setting expectations correctly matters more than the feature list here:

Question Answer from the page
Is there a server storing my file? No — nothing is uploaded
Do I need an account? No
Can I recover a lost passphrase? No — it is never stored
Does it work without internet? Yes, it is described as working offline
Is it free? Yes — "free forever," open source
Can I self-host it? Yes, the code is public; self-hosting requires keeping a visible credit linking back to PrivacyTools.io

The self-hosting condition is worth noting: the license terms as described require that attribution link, so "open source" here does not mean attribution-free redistribution.

When to use it, and when not to

Good fit: sending a contract, ID scan, or export to someone over email or chat, where you can share the passphrase through a separate channel; encrypting a file before putting it on a USB stick or a cloud drive; opening a .vrn file a colleague sent you.

Poor fit: anything you might need to recover without the passphrase; large files on a low-memory device with high security mode on; situations where you need a shared vault or team access control — this is a one-file-in, one-file-out tool.

One practical habit: deliver the passphrase through a different channel than the file. The encryption is only as good as the separation between the two.

Is it trustworthy?

The honest answer is "check the code, not the marketing." The page's own framing supports this: it invites you to read the source, notes there is no server to hack and no account to breach, and states the tool requires JavaScript to encrypt locally. The cryptography choices are mainstream and well-regarded. The remaining question — whether this implementation uses them correctly — is answerable only by reading the repository, which the project makes available. For a casual user protecting a file in transit, that is a reasonable bar; for high-stakes material, have someone review the code or test it against a known-good implementation first.

How VERNAM Encrypts a File in Your Browser

VERNAM encrypts a file entirely inside your browser: you drop a file, set or generate a passphrase, and the page derives a 256-bit key with Argon2id, then seals the file in chunks with XChaCha20-Poly1305 and writes the result as a .vrn file. Nothing is uploaded, no account is needed, and the passphrase is never stored—so a lost passphrase means the file cannot be recovered by anyone, including you. This applies to any file type and works offline once the page is loaded.

The encryption flow, step by step

1. Choose a passphrase

You can type your own or tap the dice to generate one. The generator draws six random words from the 2048-word BIP39 wordlist—the same list used for crypto wallet seed phrases—giving roughly 66 bits of entropy. That is strong against brute-force guessing while staying easy to write down.

The page shows a passphrase strength indicator as you type. Whatever you choose becomes the only key to the file.

2. Passphrase becomes a key

Your passphrase is stretched into a 256-bit key using Argon2id, an algorithm designed to make password cracking expensive. VERNAM offers a High security mode that uses heavier key derivation: 256 MiB of memory and 3 passes. The page notes this is not recommended for low-RAM devices, since it makes each guess far costlier for an attacker but also takes longer and uses more memory on your machine.

3. File is sealed in chunks

XChaCha20-Poly1305 encrypts the file in chunks and signs each chunk, so any tampering is detected immediately. The output is indistinguishable from random noise. The page states these are the same cryptography families used to protect Signal, WireGuard, and 1Password.

4. Output and decryption

The result is a .vrn file. To open one—yours or one someone sent you—drop it into the same page. VERNAM auto-detects whether to encrypt or decrypt, so you do not pick a mode manually. You then enter the exact passphrase the file was encrypted with.

What to expect while it runs

  • A waiting moment is normal. The page warns that encryption "can take a moment, especially key derivation"—Argon2id is intentionally slow.
  • JavaScript is required. The tool needs JavaScript to encrypt locally in your browser; nothing is uploaded either way.
  • No recovery path. The passphrase is the only key and is never stored anywhere. A wrong passphrase simply fails.

Practical checks before you rely on it

Question What the page supports
Is my file uploaded? No—everything happens inside the browser; no server, no account
Can I use it offline? Yes, listed as a feature
Is it free? Described as free forever, open source
Can I self-host? Yes, the code is public and free to host yourself, keeping a visible credit linking back to PrivacyTools.io
What if I forget the passphrase? No recovery—the passphrase is the only key

Because the project is open source, you can read the code rather than trust a description. For a file you will need months from now, write the generated six-word passphrase down and store it separately from the .vrn file—those two items together are the whole security model.

What Does VERNAM’s High Security Mode Change?

VERNAM’s high security mode makes key derivation heavier: it uses Argon2id with 256 MiB of memory and 3 passes instead of the standard setting. That raises the cost of each brute-force guess against your passphrase. The site says standard protection is “plenty for most files” and does not recommend high security mode for low-RAM devices. Turn it on when the file is especially sensitive and the device has enough memory; otherwise, the standard mode is the intended default.

What actually changes

The mode affects how your passphrase is stretched into the 256-bit encryption key. It does not change the file encryption algorithm itself: VERNAM uses XChaCha20-Poly1305 to encrypt the file in chunks and sign each one, so tampering is detected.

Setting Standard mode High security mode
Key derivation algorithm Argon2id Argon2id
Memory used Not specified on the page 256 MiB
Passes Not specified on the page 3
Effect on guessing Baseline Each brute-force guess is far costlier
Intended use “Plenty for most files” Extra protection for sensitive files
Device caveat — Not recommended for low-RAM devices

The page does not publish the standard mode’s exact memory and pass counts, so do not assume they match the high security figures.

Why heavier key derivation matters

A passphrase is the only key. VERNAM never stores it, and a wrong passphrase simply fails with no recovery. If someone obtains an encrypted file, their practical route is to guess passphrases and test each guess. Argon2id is designed to make that testing expensive by consuming memory and repeated work per guess.

High security mode raises that per-guess cost. It does not rescue a weak passphrase, though. The page recommends generating a strong one: its generator draws six random words from the 2048-word BIP39 list, about 66 bits of entropy. A strong passphrase plus high security mode is a layered choice; high security mode alone is not a substitute for a weak passphrase.

When to turn it on

Use high security mode when:

  • The file is especially sensitive and you want each password guess to cost more.
  • You are encrypting on a device with enough RAM to handle 256 MiB of key derivation memory plus the browser’s own use.
  • You can tolerate a longer wait. The page warns that encryption “can take a moment, especially key derivation.”

Keep the standard mode when:

  • You are encrypting ordinary files, where the page says standard protection is plenty.
  • You are on a low-RAM phone, tablet, or older computer. The page explicitly does not recommend high security mode there.
  • You need the quickest result and your passphrase is already strong.

How to use it and what to expect

  1. Open VERNAM in a browser with JavaScript enabled. The page states the tool needs JavaScript to encrypt files locally.
  2. Drop a file or browse to select it. The page auto-detects whether you are encrypting or decrypting.
  3. Set a passphrase, or tap the dice to generate one. Record it exactly; it is never stored and cannot be recovered.
  4. Turn on high security mode if the conditions above apply.
  5. Start encryption and wait for key derivation. A “Working” state may appear, especially in high security mode.
  6. Confirm the “Encrypted” result, then save or send the file.

Everything happens inside the browser. The page says files and passwords never touch a server, no account is needed, and the tool works offline. The output is designed to be indistinguishable from random noise.

Common snags

  • Slow or stalled on a low-memory device: high security mode’s 256 MiB requirement can strain low-RAM hardware. Switch back to standard mode.
  • Forgotten or mistyped passphrase: there is no recovery. A wrong passphrase just fails. Keep the exact passphrase, including spacing and capitalization, if you generated one.
  • JavaScript disabled: the local encryption tool will not run. The page notes this requirement.
  • Expecting the mode to fix a weak passphrase: it raises guessing cost but does not add entropy. Use the generator or another strong passphrase.

VERNAM is free, open source, and client-side, according to the page. The high security mode is a deliberate trade: more resistance to brute-force guessing in exchange for more memory use and a longer key-derivation wait.

Website Overview

Several search or sharing settings need attention. Together they may make snippets, preview images or preferred URLs less consistent across platforms.

Domain and Registration

The domain was registered less than a year ago and has limited historical evidence to assess. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is CloudFlare, Inc., a widely used domain service provider. The domain uses the common .app extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by Cloudflare, indicating managed DNS hosting. DNSSEC is enabled, allowing validating resolvers to authenticate signed DNS data. No CNAME was found; the observed records resolve directly to addresses. No MX record was found. A conventional explicit inbound-mail route is not configured. TXT records include verification markers for Google. Such markers may also remain after a service stops being used.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. All six checked browser-security headers are present. Their effectiveness still depends on the policy values and application behavior. The cf-ray response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.

Technology Stack Analysis

The public page identifies Cloudflare without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

The meta description has 205 characters and may be shortened in search results. The canonical URL points to another host: https://privacytools.io/encrypt. Search engines may consolidate indexing signals there. Twitter Card metadata is configured. JSON-LD includes Organization data, helping describe the organization as an entity. The title has 43 characters, within a common display range.

Hosting and Email

DNSCloudflare
HostingCloudflare
EmailUnknown
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) Location unknown Inferred 104.21.79.142

Registration details

RDAP / WHOIS

RegistrarCloudFlare, Inc.
Registered2026-06-16
Expires2027-06-16
Domain statusclient transfer prohibited
Nameserversaarav.ns.cloudflare.com、kristina.ns.cloudflare.com
DNSSECsigned

DNS records

DNS

TypeNameValueTTLPriority
Avernam.app104.21.79.142300—
Avernam.app172.67.146.15300—
AAAAvernam.app2606:4700:3037::6815:4f8e300—
AAAAvernam.app2606:4700:3037::ac43:920f300—
NSvernam.appaarav.ns.cloudflare.com86400—
NSvernam.appkristina.ns.cloudflare.com86400—
TXTvernam.appgoogle-site-verification=fDtDQNGJsfgO6oK79Gr0LFImIL-ioqBAcq4AXnXpcPE3600—
DSvernam.app2371 13 2 336fb151807badd794004eb4f2c7ff215bd274d21565ac6b561e1945deaa78901800—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectvernam.app
IssuerGoogle Trust Services
Valid until2027-01-11T22:25 · Remaining when checked: 81 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
cache-controlpublic, max-age=0, must-revalidate
servercloudflare
strict-transport-securitymax-age=31536000; includeSubDomains; preload
content-security-policydefault-src 'self'; script-src 'self' 'unsafe-inline' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'none'; media-src 'none'; object-src 'none'; child-src 'none'; frame-src 'none'; worker-src 'self' blob:; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; manifest-src 'self'; upgrade-insecure-requests
x-frame-optionsDENY
x-content-type-optionsnosniff
referrer-policyno-referrer
permissions-policygeolocation=(), microphone=(), camera=(), usb=(), payment=(), interest-cohort=()
access-control-allow-origin*

Identified technologies

Cloudflare

Pages, Search and Sharing

Meta descriptionFree, open-source, fully client-side file encryption. Drop a file, set a passphrase, done, or open a .vrn file someone sent you. Nothing is ever uploaded. XChaCha20-Poly1305 + Argon2id. By PrivacyTools.io.
Canonical URLhttps://privacytools.io/encrypt
LanguageEnglish (default)
Twitter Cardsummary_large_image
All bots 1 allowed · 0 disallowed
  • Allow/

No sitemaps found

User reviews (0)

  • No reviews yet.