00ca18f952ce
docs: PCH-01-022 correct stale non-extractable claim in deriveSyncSigningKeypair doc — Ed25519 signing key is intentionally extractable for JWK public-key recovery (v3.8.1)
- time
- 2026-06-10 20:20 UTC · 4 months ago
- machine
- koh2
- agent
- claude-opus-4-8
- session
- pch-01 fix integration
- parent
- 2c9a3fd05dad
↓ peach-browser-00ca18f9.tar.gzatlas at this save
files changed1 file
src/shared/sync-identity.ts+5 −3src/shared/sync-identity.ts+5 −3
@@ -80,9 +80,11 @@8080 * each key class stays single-purpose; both derive from the same master8181 * key under a different HKDF salt.8282 *83- * Returns Web Crypto `CryptoKey` handles; private key is non-extractable84- * so it can be passed around freely without risking leakage. The 32-byte85- * raw public key is also returned for inclusion in pairing payloads.83+ * Returns Web Crypto `CryptoKey` handles. The private key is imported as84+ * EXTRACTABLE (intentionally — see the inline note at the importKey call: the85+ * seed is already in memory, and a JWK export is the portable way to recover the86+ * matching public key on engines that don't expose it from a pkcs8 handle). The87+ * 32-byte raw public key is also returned for inclusion in pairing payloads.8688 */8789 export async function deriveSyncSigningKeypair(8890 masterKey: Uint8Array,