Skip to content

Instantly share code, notes, and snippets.

@Hakkadaikon
Created December 17, 2025 09:52
Show Gist options
  • Select an option

  • Save Hakkadaikon/94fe83b7f6699933a472b19c29e4e512 to your computer and use it in GitHub Desktop.

Select an option

Save Hakkadaikon/94fe83b7f6699933a472b19c29e4e512 to your computer and use it in GitHub Desktop.
kubo.watch kidstr 詳細 AI要約

概要

12/17 5:00 JSTで行われたkubo.watchのプロダクトによるプレゼン/ディスカッション内容のAI要約。

詳細

Web of Trust Foundation & Operation Kidster プロジェクト概要

  1. 背景と目的
  • プロジェクト名: Operation Kidster(オペレーション・キッズスター)
  • 運営組織: Web of Trust Foundation(慈善事業を行う法人として設立)
  • 課題: 従来の子供向けフィルタリング(ブラックリスト方式)は、膨大なコンテンツ量に対して検知が追いつかず、不適切なコンテンツのすり抜けが発生する。
  • 解決策: 「許可されたもの以外はすべてブロックする」ホワイトリスト方式を採用。しかし、親が手動ですべてを許可するのは不可能なため、「信頼の拡張(Trust Extension)」 という仕組みを用いて安全な領域を社会的ネットワークを通じて自動的に広げるアプローチをとる。 TEP (Trust Extended Permission Protocol) 技術仕様 Nostr上で動作する、子供のための分散型権限管理プロトコル。
  1. システムの基本構造 システムは以下の厳格な優先順位でアクション(閲覧や投稿)の可否を判定する。
  • Action(アクション発生): 子供が投稿や閲覧を試みる。
  • Restrictions(制約チェック - Blacklist):
    • ブラックリストやグローバル制限(時間帯など)に該当するか確認。
    • 該当する場合 \rightarrow 即時ブロック
  • Permissions(権限チェック - Whitelist):
    • 親や信頼ネットワークによって許可されたリストに含まれるか確認。
    • 該当する場合 \rightarrow 許可(Allow)
  • Default(デフォルト):
    • 上記いずれにも該当しない未知の情報 \rightarrow ブロック
  1. 主要なイベント構造(Data Structures) A. Association Event(関連付けイベント) 「誰が子供で、誰が保護者か」を定義する戸籍情報
  • Subject Nprofile: 子供のID。
  • Guardian Nprofiles: 保護者のID(複数設定可能:父、母、学校など)。
  • Musig2 Sig: マルチシグ技術(Musig2)を用いた署名により、親子関係を暗号学的に証明し、なりすましを防止する。 B. State Event(状態イベント) 現在のルールセットをまとめたマスターファイル 保護者が発行・署名し、以下の要素を参照する。
  • Global Restrictions: 全体的な制限ルール(後述)。
  • Blacklist: 明示的に禁止する対象。
  • Permission Events: 公開または非公開(暗号化)の許可リスト。
  • Monitoring/Archive Relays: 子供の活動ログや会話履歴を保存・監査するために指定されたリレーサーバー。 C. Permission Events(権限イベント) 具体的な許可内容の定義 以下の2つのカテゴリで制御される。
  • View-Only(閲覧のみ):
    • 指定された相手やリレーのコンテンツを見ることはできるが、反応や返信は不可。
  • Interaction(対話可能):
    • 指定された相手との会話(返信・引用)を許可。
    • Interaction Relays: 「どのリレーで会話するか」を指定可能(例:学校の友達とは学校のリレーでのみ会話可能)。
  1. 信頼の拡張と初期化フロー(Trust Extension & Initialization) 親が友人を信頼リストに追加することで、その友人が許可しているコンテンツも自動的に子供の許可リストに取り込む仕組み。 処理プロセス
  • Fetch(取得): 親が指定した「信頼拡張先(例:友人の親)」の許可イベントを取得する。
  • Check for Extensions(再帰的拡張): その友人がさらに別の拡張を行っている場合、再帰的にリストを辿る。
  • Mutate(変異): 他人の許可リストを取り込む際、そのまま適用するのではなく、自分のポリシーに合わせて権限を書き換える(Mutation)。
    • 例: 「友人が許可している相手を取り込むが、対話権限は削除し『閲覧のみ』に変更して取り込む」
  • Merge into Construct(統合): 変異させたリストを、自身のブラックリストや制限事項と統合し、最終的な実行用権限セット(Construct)をメモリ上に構築する。
  1. 高度な制御機能(Granular Controls) 単なる許可/不許可だけでなく、詳細なコンテキスト制御が可能。
  • 時間制限 (Global Timeframes):
    • weekday / time: 平日の夜8時以降は使用不可などの設定。
    • kind / weekday / time: 動画(Kind 1063等)は週末のみ、テキストは常時許可などの種別ごとの制限。
    • client / weekday / time: 学習アプリは常時許可、ゲームアプリは時間制限など。
  • 場所の固定 (Relay Locking):
    • 特定のコミュニティとの対話を、特定のリレーサーバー内のみに限定することで、不特定多数との接触を防ぐ。
  • 監査 (Monitoring):
    • 特定の相手とのやり取りを、指定されたアーカイブ用リレーに自動送信し、親が後で確認できるようにする。
  1. 実装と展開
  • 対応レイヤー: クライアント(アプリ)、署名デバイス(Bunker)、リレー(サーバー)のいずれの層でも実装可能。
  • デモ: YouTube Kidsライクな動画視聴アプリ(保護者が管理画面から動画を追加・管理)のプロトタイプを作成中。
  • 標準化: Nostrの標準プロトコル(NIP)としての提案を目指している。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment