Explain encrypt-to-self subscriptions

This commit is contained in:
thePR0M3TH3AN committed 2025-09-24 16:31:50 -04:00
1 parent 9927b7e4ec
commit 9342c967ba
1 file changed
+8
+8
View File
@@ -125,6 +125,14 @@ class SubscriptionsManager {
const plainObj = { subPubkeys: Array.from(this.subscribedPubkeys) };
const plainStr = JSON.stringify(plainObj);
/*
* The subscription list is stored as a NIP-04 message to self, so both
* encryption and decryption intentionally use the user's own pubkey.
* Extensions are expected to support this encrypt-to-self flow; altering
* the target would break loadSubscriptions, which decrypts with the same
* pubkey. Any future sharing model (e.g., sharing with another user) will
* need a parallel read path and should not overwrite this behavior.
*/
let cipherText = "";
try {
cipherText = await window.nostr.nip04.encrypt(userPubkey, plainStr);