This page is published with GitHub Pages from web-extension/ — the same folder that is the extension.
This server exists so you can try the extension's keyboard in a real browser without
installing anything. It serves the same modules the extension injects
(src/keyboard.js, src/wiring.js, src/crypto.js), wired to
localStorage instead of chrome.storage.
v1|CHACHA20-POLY1305|<nonce>|<ciphertext>|<tag> (base64url, unpadded)
{"nonce":"…","ciphertext":"…","tag":"…"} (paper Algorithm 1, base64)
- Press Ctrl+Shift+K (or the button on the demo page) to open the keyboard.
- Encrypted mode buffers keystrokes; only the sealed envelope reaches the page.
- Plain mode commits keys straight into the focused field.
- Passphrase or single-session key (the paper's model): both are implemented.
- The demo page logs every DOM event it receives, so you can see exactly what leaks.
Get the extension
The demo above runs in the page you are reading. The real thing installs into your browser and then works in every site you type into — no server, no account, no network permission.
- Download the built extension (.zip)
- Unzip it somewhere permanent.
- Open
chrome://extensions, switch Developer mode on. - Click Load unpacked and select the unzipped folder.
- Press Ctrl+Shift+K on any page to open the keyboard.
Prefer the source? web-extension/ is a
plain MV3 folder — load it unpacked as-is. The
README
covers the threat model, the crypto construction and the 185-test suite. This
index.html and the demo beside it are a preview convenience and are not part of
the packaged extension.
Made with love by d4nte
愛をこめて ダンテ が作りました
Paper: doi:10.1109/ICEI65890.2026.11447792