NIP-29はリレーベースのグループを定義し、リレーがグループのメンバーシップ、権限、メッセージの可視性を管理します。

グループアクセスタグ

  • private: メンバーのみがグループメッセージを読める
  • closed: 参加リクエストは無視される(招待制)
  • hidden: リレーが非メンバーからグループメタデータを隠し、グループを発見不可能にする
  • restricted: メンバーのみがグループにメッセージを書ける

これらのタグは組み合わせることができます。グループはrestricted(書き込み制限)でありながらhiddenでない(発見可能)ことができます。タグを省略すると反対の動作が有効になります: privateがなければ誰でも読め、closedがなければ参加リクエストは受け入れられます。

仕組み

リレーがグループ操作の権限者です:

  • メンバーリストと役割を維持
  • 書き込み権限を強制
  • 非メンバーが何を見れるかを制御

クライアントはグループメッセージをリレーに送信し、リレーは受け入れる前にメンバーシップを検証します。

プライバシーに関する考慮事項

  • hiddenグループは最強の発見保護を提供: 検索やリレーリストに表示されない
  • privateグループは非メンバーからメッセージコンテンツを隠す
  • closedグループは単に参加リクエストを無視する。より強いアクセス制御のためにはprivatehiddenと組み合わせる
  • restrictedは読み取りアクセスとは独立して誰が書けるかを制御

主要ソース:

言及箇所: