diff --git a/packages/base/README.md b/packages/base/README.md
index 51e71e1..28831e4 100644
--- a/packages/base/README.md
+++ b/packages/base/README.md
@@ -1,5 +1,17 @@
# @decryption/base
+
+
+
+
+
+
+
+
+
+
+
+
> **NOTE:** This is a fork of [`@scure/base`](https://www.npmjs.com/package/@scure/base) (v2.2.0).
> We dual-publish as both **CJS and ESM** because upstream is ESM-only (`"type": "module"`), which breaks
> `require()` in Jest, older bundlers and CJS-based Node.js tooling. The source is unchanged from upstream —
diff --git a/packages/bip32/README.md b/packages/bip32/README.md
index fd965ae..39ea760 100644
--- a/packages/bip32/README.md
+++ b/packages/bip32/README.md
@@ -1,5 +1,17 @@
# @decryption/bip32
+
+
+
+
+
+
+
+
+
+
+
+
> **NOTE:** This is a fork of [`@scure/bip32`](https://www.npmjs.com/package/@scure/bip32) (v2.2.0).
> We dual-publish as both **CJS and ESM** because upstream is ESM-only (`"type": "module"`), which breaks
> `require()` in Jest, older bundlers and CJS-based Node.js tooling. The source is unchanged from upstream —
diff --git a/packages/bip39/README.md b/packages/bip39/README.md
index 58f3b2d..1be36f7 100644
--- a/packages/bip39/README.md
+++ b/packages/bip39/README.md
@@ -1,5 +1,17 @@
# @decryption/bip39
+
+
+
+
+
+
+
+
+
+
+
+
> **NOTE:** This is a fork of [`@scure/bip39`](https://www.npmjs.com/package/@scure/bip39) (v2.2.0).
> We dual-publish as both **CJS and ESM** because upstream is ESM-only (`"type": "module"`), which breaks
> `require()` in Jest, older bundlers and CJS-based Node.js tooling. The source is unchanged from upstream —
diff --git a/packages/ciphers/README.md b/packages/ciphers/README.md
index c070a9c..e49fb7a 100644
--- a/packages/ciphers/README.md
+++ b/packages/ciphers/README.md
@@ -1,5 +1,17 @@
# @decryption/ciphers
+
+
+
+
+
+
+
+
+
+
+
+
> **NOTE:** This is a fork of [`@noble/ciphers`](https://www.npmjs.com/package/@noble/ciphers) (v2.2.0).
> We dual-publish as both **CJS and ESM** because upstream is ESM-only (`"type": "module"`), which breaks
> `require()` in Jest, older bundlers and CJS-based Node.js tooling. The source is unchanged from upstream —
diff --git a/packages/cli/README.md b/packages/cli/README.md
index d12decb..0ef58ee 100644
--- a/packages/cli/README.md
+++ b/packages/cli/README.md
@@ -1,5 +1,17 @@
# @decryption/cli
+
+
+
+
+
+
+
+
+
+
+
+
`dcrypt` — a local-first command line for encryption, BIP39 wallets and team secrets. No command
in this CLI makes a network request.
diff --git a/packages/core/README.md b/packages/core/README.md
index c5fb621..494ad3d 100644
--- a/packages/core/README.md
+++ b/packages/core/README.md
@@ -1,5 +1,17 @@
# @decryption/core
+
+
+
+
+
+
+
+
+
+
+
+
Authenticated, self-describing envelope encryption — Argon2id + XChaCha20-Poly1305.
diff --git a/packages/cosmology-compat/README.md b/packages/cosmology-compat/README.md
index 4067e3b..af3a98e 100644
--- a/packages/cosmology-compat/README.md
+++ b/packages/cosmology-compat/README.md
@@ -1,5 +1,17 @@
# @decryption/cosmology-compat
+
+
+
+
+
+
+
+
+
+
+
+
> **Deprecated by design.** This package exists so data written by the cosmology CLI
> stays readable. Do not use it to encrypt anything new — use
> [`@decryption/core`](../core) instead.
diff --git a/packages/curves/README.md b/packages/curves/README.md
index c252311..495ea47 100644
--- a/packages/curves/README.md
+++ b/packages/curves/README.md
@@ -1,5 +1,17 @@
# @decryption/curves
+
+
+
+
+
+
+
+
+
+
+
+
> **NOTE:** This is a fork of [`@noble/curves`](https://www.npmjs.com/package/@noble/curves) (v2.2.0).
> We dual-publish as both **CJS and ESM** because upstream is ESM-only (`"type": "module"`), which breaks
> `require()` in Jest, older bundlers and CJS-based Node.js tooling. The source is unchanged from upstream —
diff --git a/packages/hashes/README.md b/packages/hashes/README.md
index 1677fa9..2db76e3 100644
--- a/packages/hashes/README.md
+++ b/packages/hashes/README.md
@@ -1,5 +1,17 @@
# @decryption/hashes
+
+
+
+
+
+
+
+
+
+
+
+
> **NOTE:** This is a fork of [`@noble/hashes`](https://www.npmjs.com/package/@noble/hashes) (v2.2.0).
> We dual-publish as both **CJS and ESM** because upstream is ESM-only (`"type": "module"`), which breaks
> `require()` in Jest, older bundlers and CJS-based Node.js tooling. The source is unchanged from upstream —
diff --git a/packages/keys/README.md b/packages/keys/README.md
index 5c5dc4c..19cdf84 100644
--- a/packages/keys/README.md
+++ b/packages/keys/README.md
@@ -1,5 +1,17 @@
# @decryption/keys
+
+
+
+
+
+
+
+
+
+
+
+
X25519 identities and recipient-based encryption: encrypt once, let several people decrypt, add or
remove them without a new passphrase ceremony. The construction follows
[age](https://age-encryption.org): a random file key encrypts the payload, and one *stanza* per
diff --git a/packages/secrets/README.md b/packages/secrets/README.md
index 07747db..e766eb2 100644
--- a/packages/secrets/README.md
+++ b/packages/secrets/README.md
@@ -1,5 +1,17 @@
# @decryption/secrets
+
+
+
+
+
+
+
+
+
+
+
+
Team secrets in a file you can commit. Every value is encrypted individually, so a pull request
shows *which* secret changed without revealing any of them, and membership is managed by adding or
removing recipients rather than by resharing a passphrase.
diff --git a/packages/shamir/README.md b/packages/shamir/README.md
index e2b75c7..c1725df 100644
--- a/packages/shamir/README.md
+++ b/packages/shamir/README.md
@@ -1,5 +1,17 @@
# @decryption/shamir
+
+
+
+
+
+
+
+
+
+
+
+
Split a secret into `n` shares, any `t` of which reconstruct it. Fewer than `t` shares reveal
nothing but the secret's length.
diff --git a/packages/vault/README.md b/packages/vault/README.md
index 0e4a3e1..1c59a7c 100644
--- a/packages/vault/README.md
+++ b/packages/vault/README.md
@@ -1,5 +1,17 @@
# @decryption/vault
+
+
+
+
+
+
+
+
+
+
+
+
Passphrase-locked local vault runtime. Runs PostgreSQL in-process (PGlite),
deploys the `dcrypt-vault` pgpm module through `@pgpmjs/pglite-adapter`, and
persists the entire database as a single `@decryption/core` envelope around a
diff --git a/packages/wallet/README.md b/packages/wallet/README.md
index 208d4cd..2dac881 100644
--- a/packages/wallet/README.md
+++ b/packages/wallet/README.md
@@ -1,5 +1,17 @@
# @decryption/wallet
+
+
+
+
+
+
+
+
+
+
+
+
BIP39 mnemonics, BIP32 derivation and address encoding — entirely offline. This package has no
chain registry, no RPC client and no transaction signing: it turns a mnemonic into addresses and
stops there.