8.6 KiB
Nostr Communications Reference and Future Capability (2026-03-05)
Status: Research / Future Addition
Branch target: beta
Depends on:
docs/dev_control_center.mddocs/index0_atlas_execution_plan_2026-03-05.mddocs/atlas_search_graph_integration_plan_2026-03-05.md
1) Goal
Capture the Nostr protocol references most relevant to a future SeedPass communications layer, then define how a managed-identity communication system could fit the current SeedPass architecture.
This document is for future implementation planning, not a statement of current shipped functionality.
2) Current SeedPass Baseline
SeedPass already has enough Nostr groundwork to make this future capability realistic:
- deterministic Nostr key generation and storage as entry kind
nostr - relay configuration and relay maintenance flows
- active profile
npubutilities - a current Nostr client used for SeedPass vault sync
index0atlas foundations for future communication metadata and navigation
What SeedPass does not currently have:
- DM inbox/outbox/thread models
- community or group chat clients
- canonical message/conversation entry types
- communication indexing into atlas/search
- policy-aware communication access controls in the UI/service layer
3) Protocol References
Use these NIPs as the canonical starting points.
3.1 Private messaging
-
NIP-04Encrypted Direct Message- legacy
kind:4DM scheme - explicitly marked as deprecated in favor of
NIP-17 - uses ECDH-derived shared secret plus AES-256-CBC payload format
- carries significant metadata leakage warnings
- reference:
- legacy
-
NIP-44Encrypted Payloads (Versioned)- encryption format, not a messaging standard by itself
- versioned payload format intended for signed-event contexts
- should not be treated as a direct drop-in replacement for
NIP-04 - reference:
-
NIP-59Gift Wrap- metadata-obscuring event encapsulation layer
- introduces rumors, seals, and gift wraps
- depends on
NIP-44 - does not itself define the messaging UX/protocol
- reference:
-
NIP-17Private Direct Messages- newer encrypted chat approach
- uses
NIP-44encryption andNIP-59seals/gift wraps - defines the direction SeedPass should prefer for future private DM support
- reference:
3.2 Group and community chat
-
NIP-28Public Chat- public channel model
- reserves event kinds
40-44for channel create/metadata/message and basic moderation - useful as a baseline for open team channels or public-facing communities
- reference:
-
NIP-29Relay-based Groups- closed-writer group model with relay-enforced rules
- groups can be public or private for reading
- strong candidate for institution/team chat semantics where relay policy matters
- reference:
-
NIP-72Moderated Communities (Reddit Style)- public community model
- defines
kind:34550community definition andkind:4550approval events - likely more relevant for public communities than for private institutional chat
- reference:
4) SeedPass-Oriented Interpretation
For SeedPass, the most relevant practical stack is:
- private managed DMs:
NIP-17+NIP-44+NIP-59
- public/open channels:
NIP-28
- controlled team/group chat:
NIP-29
- public community publishing/moderation:
NIP-72
This means:
- do not build new private DM support on top of
NIP-04unless compatibility mode is required - treat
NIP-04as legacy interop - prefer
NIP-17for future direct-message architecture - evaluate
NIP-29as the strongest candidate for managed institutional group chat
5) Managed Identity Model
SeedPass has a unique advantage here because it can deterministically derive managed child identities.
If a Nostr identity is a managed deterministic child account:
- the child user can operate that identity normally
- an authorized higher-level SeedPass holder can derive the same child identity again
- that higher-level holder can regenerate the same Nostr private key
- supervisory recovery/access follows from key custody, not from a separate escrow system
This implies two communication classes should exist in the future:
- personal identities
- user-owned
- not intended for management derivation/access
- managed institutional identities
- org-controlled
- derivable by authorized higher-level key holders
- eligible for institutional indexing, search, and oversight
6) How This Fits index0
index0 should not store full communication bodies inline.
Recommended split:
- canonical message or conversation content:
- future entry kinds or encrypted conversation/message payloads
index0atlas metadata:- account created
- conversation created
- participants
- channel/community membership metadata
- last activity
- message counts
- linked documents/artifacts
- policy/classification/visibility metadata
- local semantic layer:
- derived search over message bodies and linked content
That preserves the atlas role:
Index0 is the map, not the message store.
7) Recommended Future Capability Scope
Phase A: Managed Nostr account workspace
- load a SeedPass Nostr entry into an active comms session
- show identity metadata, relay state, and conversation summaries
- expose public posting and account-session controls
Phase B: DM dashboard
- inbox
- conversation list
- thread view
- send/receive support for managed identities
- atlas metadata indexing for conversations and message activity
Preferred protocol direction:
NIP-17NIP-44NIP-59- optional
NIP-04compatibility only if needed
Phase C: Institutional team chat
- managed group/channel model
- likely protocol evaluation centered on
NIP-29 - optional public/open channel support using
NIP-28 - public community support later via
NIP-72if needed
Phase D: Knowledge integration
- link conversations to docs, secrets, tasks, and artifacts
- surface chat activity in
index0 - unify search across notes, docs, links, and comms
- support scoped agent context loading from conversations plus linked artifacts
8) Access Control Direction
Future communication access should remain policy-driven and consistent with SeedPass hierarchy.
Recommended rules:
- managed institutional identities are readable by authorized higher-level key holders who can derive the same child identity
- personal identities are not treated as institutionally recoverable by default
- UI and service layers should make identity class explicit
- search, export, summaries, and agent access must respect classification and partition policies
- message excerpts shown in search/atlas should be safe by default, especially for high-risk scopes
9) Open Design Questions
Resolve these before implementation:
- should full message bodies be stored as dedicated entry kinds, chunked conversation documents, or both?
- should SeedPass mirror only managed-identity communications into canonical vault storage, or also index external/public references?
- how should relay/group policy state be represented for
NIP-29groups? - what is the minimum safe atlas metadata for private institutional conversations?
- what should agent access look like for communication content versus conversation summaries?
10) Practical Recommendation
The best future direction appears to be:
NIP-17private DMs for managed identitiesNIP-29for controlled team/group chatNIP-28andNIP-72as optional public/community layersindex0for metadata, navigation, and oversight- separate canonical storage for actual message content
11) Source Links
Primary sources used for this reference:
- NIP-04:
- NIP-17:
- NIP-28:
- NIP-29:
- NIP-44:
- NIP-59:
- NIP-72: