Skip to content

feat: NIP-51 encrypted private lists#44

Merged
barrydeen merged 1 commit intomainfrom
feat/private-lists
Feb 26, 2026
Merged

feat: NIP-51 encrypted private lists#44
barrydeen merged 1 commit intomainfrom
feat/private-lists

Conversation

@barrydeen
Copy link
Copy Markdown
Owner

Summary

  • Add private list support for follow sets and bookmark sets using NIP-44 encrypted content
  • Private list items are stored exclusively in the encrypted content field, never in public tags
  • Privacy is set at creation time via a toggle in the create dialog; lock icon indicates private lists
  • Own encrypted list events are decrypted on receipt in EventRouter, persisted with isPrivate flag

Test plan

  • Create a private people list — verify the event sent has only ["d", "tag"] in tags with encrypted content
  • Add/remove members to a private list — verify no p-tags leak into public tags
  • Restart app — verify private lists load correctly from SharedPreferences and relay re-fetch
  • Verify lock icon appears on private lists in Lists Hub and Add to List dialogs
  • Create a public list — verify existing behavior unchanged (items in tags, empty content)
  • Use a private list as feed — verify feed shows posts from decrypted members
  • Add to private list from a user's profile — verify event remains encrypted

Add support for private follow sets (kind 30000) and bookmark sets
(kind 30003) where items are encrypted in the content field using
NIP-44 instead of stored as public tags.
@barrydeen barrydeen merged commit a8a3975 into main Feb 26, 2026
@barrydeen barrydeen deleted the feat/private-lists branch March 4, 2026 01:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant