Files
bitvid/NIP_INVENTORY.md
T
google-labs-jules[bot]andPR0M3TH3AN 7054401c37 feat: add NIP compliance audit artifacts and regression tests
- Added `NIP_INVENTORY.md` tracking compliance status for all referenced NIPs/Kinds.
- Added `nip-report-2025-02-12.md` summarizing audit findings.
- Added `CONTEXT.md`, `TODO.md`, `DECISIONS.md`, `TEST_LOG.md`.
- Added automated regression tests in `tests/compliance/`:
  - `nip04_44_compliance.test.mjs`: Verifies encryption fallback logic.
  - `nip65_compliance.test.mjs`: Verifies relay list loading (Kind 10002).
  - `video_note_compliance.test.mjs`: Verifies video note (Kind 30078) structure and NIP-71 tagging.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-11 21:37:21 +00:00

3.7 KiB

NIP Inventory

NIP / Kind Description Repo Locations Status Notes
NIP-01 Basic Protocol Flow js/nostr/client.js, docs/nips/01.md Compliant Base implementation verified via client.js.
NIP-04 Encrypted Direct Message js/nostr/dmDecryptWorker.js, js/nostr/client.js Compliant Fallback verified in nip04_44_compliance.test.mjs.
NIP-07 window.nostr Capability js/nostr/nip07Permissions.js, js/nostr/adapters/nip07Adapter.js Compliant Reviewed nip07Permissions.js and nip07Adapter.js. Handles async loading and timeouts correctly.
NIP-09 Event Deletion js/nostr/client.js, docs/nips/09.md Partial deleteAllVersions implements Kind 5 logic.
NIP-10 Text Notes & Threads js/nostr/commentEvents.js, docs/nips/10.md Compliant buildCommentEvent implements NIP-10 threading markers (E, P, K tags).
NIP-17 Private Direct Messages js/nostr/client.js, js/ui/profileModal/ProfileDirectMessageRenderer.js Compliant Explicit support for Gift Wraps (Kind 1059) and Seals (Kind 13).
NIP-19 bech32-encoded entities js/utils/nostrHelpers.js, js/nostr/nip71.js Compliant Uses nostr-tools for correct encoding/decoding.
NIP-21 nostr: URI scheme docs/nips/21.md Unknown Usage in content parsing verified in js/utils/nostrHelpers.js.
NIP-33 Addressable Events js/nostr/client.js Compliant d tag usage verified in video_note_compliance.test.mjs.
NIP-44 Encrypted Payloads (Versioned) js/nostr/dmDecryptWorker.js, js/nostr/client.js Compliant Preference for v2 verified in nip04_44_compliance.test.mjs.
NIP-46 Nostr Remote Signing js/nostr/nip46Client.js Compliant Full client implementation for remote signing.
NIP-51 Lists js/userBlocks.js, js/subscriptions.js Compliant Mute list (Kind 10000) and Subscription list (Kind 30000) logic aligns with spec.
NIP-56 Reporting js/services/moderationService.js, docs/nips/56.md Compliant buildReportEvent implements Kind 1984.
NIP-59 Gift Wrap js/nostr/client.js Compliant Implemented as part of NIP-17.
NIP-65 Relay List Metadata js/relayManager.js Compliant Verified Kind 10002 loading and parsing in nip65_compliance.test.mjs.
NIP-71 Video Events js/nostr/nip71.js Compliant Verified tag generation for Kind 30078 in video_note_compliance.test.mjs.
NIP-78 Application-specific data js/services/hashtagPreferencesService.js Compliant Used for hashtag preferences (Kind 30015).
NIP-94 File Metadata js/nostr/videoPublisher.js Compliant buildVideoMirrorEvent implements Kind 1063.
NIP-98 HTTP Auth js/services/r2Service.js Compliant Used for R2 service authentication (Kind 27235).
Kind 21 NIP-71 Video js/nostr/nip71.js Compliant Implemented.
Kind 22 NIP-71 Short Video js/nostr/nip71.js Compliant Implemented.
Kind 10000 Mute List js/userBlocks.js Compliant Uses standard NIP-51 (no d tag for main list).
Kind 10002 Relay List js/relayManager.js Compliant Verified.
Kind 1063 File Header js/nostr/videoPublisher.js Compliant Implemented for NIP-94 mirroring.
Kind 30000 Subscription List js/subscriptions.js Compliant Implements NIP-51 follow sets.
Kind 30015 Hashtag Preferences js/services/hashtagPreferencesService.js Compliant Implemented.
Kind 30078 App Data js/nostr/client.js, js/nostr/videoPayloadBuilder.js Compliant Core video note kind. Verified structure.