Skip to content

[REQUEST] Implement NIP-62 Request to Vanish #390

Closed

Description

@cameri

Is your feature request related to a problem? Please describe.
A NIP-62 request is a complete reset of a key's fingerprint on the web. Nostream should honor events of kind 62 and delete all events for that pubkey.

Describe the solution you'd like

  • All events belonging from that pubkey should be deleted EXCEPT for the kind 62 event
  • The kind 62 event is a tombstone event and should not be removed. As long as this event exists new events from that pubkey should be rejected.
  • The kind 62 event cannot be deleted by a kind 5 Deletion event
  • The kind 62 event should be rejected if the value of the relay tag does not match the relay URL or if it does not match the string ALL_RELAYS exactly as per NIP-62
  • Kind 62 events should NOT be re-broadcasted to other clients or relays (this event hits a dead-end)
  • 100% unit test coverage is expected
  • Integration tests covering main use cases and edge cases

Describe alternatives you've considered
Other alternatives have been deprecated.

Additional context

Activity

  1. self-assigned this
    on Apr 8, 2026
  2. removed their assignment
    on Apr 8, 2026
  3. vikashsiwach commented on Apr 8, 2026

    @vikashsiwach
    Contributor

    Hey @cameri ! I would like to work on this issue.

  4. cameri commented on Apr 8, 2026

    @cameri
    OwnerAuthor

    Assigned to you.

    @alexgleason Please let me know if I covered the AC properly based on the official NIP-62. Also, any other NIPs you should think should be of focus?

  5. vikashsiwach commented on Apr 8, 2026

    @vikashsiwach
    Contributor

    Hey @cameri ! I explored the repo for a while and i want to share my approach. I think we have to create a vanish-event strategy for NIP-62.
    Validation : Will implement relay tag check to match the relay URL or ALL_RELAYS.
    Execution: Will add deleteByAllExceptKind( pubkey, kind) to ensure this delete all events except kind 62 event.
    Future Blocking : If kind 62 exists for a pubkey, new changes will be rejected automatically.
    Deletion Protection: Will update delete-event-strategy to filter out kind 62.
    No Broadcast : Will make sure event strategy does not emit a Broadcast event.
    Then we will add test cases to check for the validation

  6. cameri commented on Apr 8, 2026

    @cameri
    OwnerAuthor

    Your plan is sound. Please go for it!

  7. cameri commented on Apr 18, 2026

    @cameri
    OwnerAuthor

    Thank you @vikashsiwach !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions