Show HN: Air-gapped file encryption as self-decrypting HTML page

emurlin 55 points 17 comments September 24, 2026
cms-sfx-demo.apeleg.com · View on Hacker News

Air-gapped file encryption packed into a single, self-decrypting HTML page. Repo: https://github.com/ApelegHQ/ts-cms-ep-sfx I was inspired by self-extracting archives. I wanted to share files with basically no dependencies. The goal was: 1. Something that didn't require any installation (assuming a web browser) 2. Have a single file with no network that could self-decrypt 3. Be fully auditable The second point is done by having (sort of(*)) reproducible builds and embedded OpenPGP signatures. The first point is made by cleverly manipulating the HTML structure so that it can decrypt without breaking the PGP signature. It can even decrypt using bare openssl (which was a design goal too, though getting the exact structure right took some work and bug reports). The third point is accomplished by the first two, and by the source being freely available. (*) Depends on the OS at the moment.

Discussion Highlights (8 comments)

DylanMerigaud

Self-decrypting HTML? That's an innovative approach.

FatalLogic

Maybe this is the source? https://github.com/ApelegHQ/ts-cms-ep-sfx

lukan

I assume the "air gapped" part is merely indicating no internet required?

firefax

cool project! also does everyone have to enable js to vote, or did i troll too hard? (sorry!)

som

A version of this that supported PKE would be cool. So you don't have to share a password in a side channel

kooi

This is great! Lol @ "airgapped".

technion

I never thought I'd see a browser support list that specifically includes "Dilo" or, in the last few years, "Internet Explorer", but apparently you're comprehensive. I went to look for unauthenticated CBC mode like every time I see this sort of thing but it's actually GCM mode so, well consider me surprised.

socketcluster

This is brilliant. Keen to try it out.

Semantic search powered by Rivestack pgvector
7,602 stories · 70,334 chunks indexed