- TypeScript 95.9%
- CSS 4%
|
|
||
|---|---|---|
| .github/workflows | ||
| docs | ||
| scripts | ||
| src | ||
| tests | ||
| .gitignore | ||
| CLAUDE.md | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| stryker.config.json | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
Paternoster
Encrypted messages disguised as prayers, political slogans, profanity, or emoji.
Why
Encrypted data looks encrypted. On a platform where that draws attention, you need the output to look like something else entirely.
Paternoster encrypts your message (X25519, AES-256-GCM), compresses it, and encodes the result as themed text. Pick your camouflage: Orthodox prayers, Trump rally chants, drunk Russian swearing, Latin liturgy, CJK characters, or emoji. Nine themes from the solemn to the obscene — all roundtrip perfectly.
The whole thing ships as one HTML file. No server, no accounts, no dependencies. Download it, put it on a USB stick, send it over IPFS.
Themes
БОЖЕ Church Slavonic · РОССИЯ patriotic slogans · СССР Soviet agitprop · БУХАЮ drunk profanity · TRUMP MAGA rally · PATER Latin ecclesiastical · КИТАЙ CJK ideographs · 🙂 emoji · hex plain hexadecimal
Build & develop
npm install
npm run build # → dist/index.html, the whole app
npm run dev # Vite dev server
npm test # Vitest
npm run test:e2e # Playwright
Crypto, steganography, compression, and UX decisions are in docs/.
Authors
Kirill Pimenov · Leonid Kaganov (lleo.me)