概念
判定できなければ、止める
OS iXanagi は、許してよいかを判定できない依頼を通しません。分からないことを「許可」として扱わないのが、守りの出発点です。
ドキュメント全 28 ページ
目次全 4 章
守りは、通り道の形で決める
画面でボタンを隠す、規約で禁じる、レビューで気づく。どれも守りの仕組みではありません。OS iXanagi では、人が使う画面、API、AI のチャット、自動化、外部の AI ツール、どこから来た依頼も同じ 1 本の道を通ります。
その道では、ログインした人の依頼を、毎回同じ順番で確かめます。
- 誰が頼んだか(ログイン)
- どの会社のメンバーか(検証済みの所属)
- その App が会社でアクティブか
- 頼まれた範囲の持ち主か
- 操作ごとに宣言された必要な権限を持っているか
- 入力の形が正しいか
止めるときは、理由が分かる答えで
止めた理由は、答えの種類で分かります。
- 持ち主でないブランドやサイトへの依頼には「見つからない」(404)。他社のものは、存在ごと見えません。
- 自分のデータで権限が足りないときは「許されていない」(403)。
- 入力の形が違うときは「受け付けられない」(422)。
- 関所が判定に必要なデータを読めないときは「いまは判定できない」(503)。通してしまうと境界を越えるおそれがあるので、止めます。
「判定」と「付随する処理」を分ける
何でも止めるわけではありません。許してよいか・持ち主か・メンバーかといった判定は、分からなければ必ず止めます。
一方で、本体の処理に付随する作業(たとえば、関連する説明に「要見直し」の印を付けるといった後片付け)が失敗したときは、本体を止めずに、失敗したことをサーバーの記録に残します。止めることで、かえって害が大きくなるからです。どちらに当たるかは、作業ごとに決めてあります。
なぜ止める設計なのか
例外を受け流して動き続けるシステムでは、間違いが黙ったまま広がります。気づいたときには、どこから狂ったのか分かりません。
止まる場所と理由が見えていれば、原因を直せます。AI の経路にも同じ関所がかかります。AI の書き込みは頼んだ人の権限で行い、読み取りは会社の範囲に限られます。