diff --git a/.gitignore b/.gitignore index 1c08e6c..69f6863 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -index.html info.html diff --git a/index.html b/index.html new file mode 100644 index 0000000..737411e --- /dev/null +++ b/index.html @@ -0,0 +1,1627 @@ + + + + + +NIP-49 — Offline Decrypt (Self-contained) + + + +
+
+ Offline-only toolkit +

NIP-49 Offline Decryptor

+

Bring your ncryptsec, pull the plug, and recover the private key entirely inside this single, auditable HTML file.

+
+ 🔌 Works without a network connection + 🧮 Built-in libsodium + scrypt helpers + 📄 Export a self-contained copy +
+
+ + +
+
+

Quick start guide

+

Follow these steps each time you unlock your nsec from a NIP-49 secret.

+
    +
  • + 1 +
    + Load, then go offline +

    Open this file in your browser, wait for the runtime status above to read “ready”, then disable Wi‑Fi or unplug Ethernet.

    +
    +
  • +
  • + 2 +
    + Paste your protected key +

    Enter the full ncryptsec string and your password. The app derives the scrypt key and attempts XChaCha20-Poly1305 decryption locally.

    +
    +
  • +
  • + 3 +
    + Record the results securely +

    Copy the 32-byte hex key or the regenerated nsec. Re-enable your connection only after you have safely stored the output.

    +
    +
  • +
+
+
+ +
+
+

Runtime status

+

Everything required for password stretching, AEAD decryption, and bech32 conversion ships directly with this page.

+
+ initialising… +
+
Loading library versions…
+

Tip: once the status flips to ready, disconnect from the network before entering any secrets.

+
+ +
+

Decrypt your ncryptsec

+

No telemetry, no calls home. Paste your encrypted key and password below to extract the 32-byte secret and its bech32 nsec.

+
Take your device offline to decrypt your ncryptsec.
+ +
+
+ +
+
+

What’s inside this page?

+

A curated bundle of battle-tested libraries, baked directly into the source so you can inspect every byte.

+
    +
  • libsodiumProvides crypto_aead_xchacha20poly1305_ietf_decrypt for authenticated decryption.
  • +
  • Scrypt derivation helpersStretch passwords into 256-bit keys using the NIP-49 parameters.
  • +
  • bech32 / bech32m toolsDecode ncryptsec payloads and emit friendly nsec outputs.
  • + +
+
+ +
+

Safety checklist

+

Keep your keys safe with these quick reminders.

+
    +
  • Always verify you trust the source of this HTML file. Review it or host it yourself.
  • +
  • Stay offline while working with secrets. Reconnect only after clearing the inputs.
  • +
  • Use a unique, high-entropy password for each encrypted key.
  • +
  • When finished, hit Clear to wipe inputs from memory.
  • +
+
+ +
+

Don't Trust - Verify

+

You don't need to trust anyone to run this code.

+
    +
  • You can save the contents of this HTML file (File - Save As/Save Page As)
  • +
  • Read every line of code and look for yourse.f
  • +
  • Export buttonGenerates a downloadable, self-contained HTML copy for air-gapped machines.
  • +
+
+
+ + +
+ + + + + + +