
セキュア。透過的。Nullified。
Nullifyは、オープンソースでモジュール式のデータ保持・削除・ライフサイクルガバナンスプラットフォームです。分散したデータ環境全体で、データの検出、保持ポリシーの評価、制御されたライフサイクルアクションの実行、検証可能な監査記録の維持を行うための集中型フレームワークを提供します。
Nullifyは、仕様第一のアーキテクチャを中心に設計されています。中核モジュールはデータライフサイクルガバナンスに必要な基盤機能を提供し、オプションのプラグインモジュールは、追加のコネクタ、コンプライアンスフレームワーク、インテリジェンス、統合、ストレージシステム、デプロイ機能によってNullifyを拡張します。
Nullifyは、集中型データライフサイクル管理のためのオープンソースアーキテクチャを定義します。
この仕様は、いくつかの原則に基づいて構築されています。
Nullifyは、組織がデータを独自の集中型リポジトリに移行することを要求しません。代わりに、このシステムは既存のデータ環境全体でライフサイクルポリシーとアクションを調整します。
Nullifyは、2つの主要なアーキテクチャ層に分かれています。
コアモジュールには、Nullifyを運用するために必要な基盤機能が含まれています。オプションのプラグインは、ベースプラットフォームを特定のデータベース、クラウドプロバイダー、コンプライアンスフレームワーク、AIシステム、通知プラットフォーム、またはインフラストラクチャ環境に依存させることなく、専門的な機能を提供します。
主要なライフサイクルフローは次のとおりです。
発見 → 分類 → ポリシー評価 → 承認 → スケジューリング → 実行 → 検証 → 監査
各ステージは、独立して保守可能なコアモジュールによって表されます。
データ発見モジュールは、Nullifyによって管理されるデータリソースを識別し、インベントリ化します。
機能は次のとおりです。
このモジュールは、基盤となるデータをNullifyにコピーすることを要求せずに、下流のライフサイクルポリシーに必要なインベントリを提供します。
データ分類モジュールは、発見されたリソースに構造化されたメタデータを割り当てます。
機能は次のとおりです。
分類結果は、ポリシー評価プロセスへの入力になります。
ポリシーエンジンは、Nullifyの中央意思決定コンポーネントです。
機能は次のとおりです。
ポリシーは宣言的で機械可読であるべきです。
Nullifyは、正規化された内部ポリシーモデルを維持しながら、複数のポリシー形式をサポートする必要があります。
ライフサイクル決定モジュールは、ポリシー評価を明示的なライフサイクル決定に変換します。
サポートされる決定は次のとおりです。
すべての決定には、次のことを説明するのに十分なメタデータが含まれている必要があります。
Nullifyは、すべての破壊的操作が完全に自動化できることを想定すべきではありません。
承認モジュールは、制御された人間による監督を提供します。
機能は次のとおりです。
組織は、どのアクションに人間の承認が必要で、どのアクションが自動的に実行されるかを設定できます。
スケジューリングモジュールは、ライフサイクルアクションがいつ発生するかを管理します。
機能は次のとおりです。
スケジューリングは、アクションを実行するという決定と、そのアクションの実際の実行を分離する必要があります。
アクション実行モジュールは、登録されたデータソースに対して承認されたライフサイクル操作を実行します。
サポートされるライフサイクルアクションは次のとおりです。
機能は次のとおりです。
破壊的なアクションには、設定されたポリシーに従って明示的な認可が必要です。
検証モジュールは、ライフサイクルアクションが正常に完了したかどうかを確認します。
機能は次のとおりです。
検証では、次の状態を区別する必要があります。
監査および証拠モジュールは、すべての重要なシステムアクションの完全なライフサイクルを記録します。
機能は次のとおりです。
監査記録により、ライフサイクル決定が発生した理由とその後の出来事を再構築できるようにする必要があります。
データ系統モジュールは、データリソース間の関係を追跡します。
機能は次のとおりです。
系統により、Nullifyは保持、アーカイブ、匿名化、または削除も必要となる可能性のある関連リソースを特定できます。
アクセス制御モジュールは、管理操作およびライフサイクル操作を保護します。
機能は次のとおりです。
破壊的操作には、最小権限の認可を使用する必要があります。
通知モジュールは、システムおよびライフサイクル通知を提供します。
機能は次のとおりです。
コアモジュールは通知インターフェースを公開する必要がありますが、配信メカニズムは交換可能なままにしておく必要があります。
APIモジュールは、Nullifyへのプログラムによるアクセスを提供します。
機能は次のとおりです。
APIは、安定したバージョン管理されたインターフェースを公開する必要があります。
ダッシュボードは、プライマリ管理インターフェースを提供します。
機能は次のとおりです。
ダッシュボードは、ユーザーが基盤となるデータベースや実行システムと直接やり取りすることを要求せずに、可視性を提供する必要があります。
レポートモジュールは、ライフサイクルデータを運用およびコンプライアンスレポートに変換します。
機能は次のとおりです。
サポートされるエクスポート形式は次のとおりです。
マルチテナントモジュールにより、Nullifyは複数の組織環境にわたって動作できます。
機能は次のとおりです。
テナントの境界は、認可層とデータアクセス層で強制される必要があります。
フェデレーションモジュールは、複数のNullifyインストールを調整します。
機能は次のとおりです。
フェデレーションにより、組織はデータに対するローカル制御を維持しながら、ライフサイクルガバナンスを中央で調整できます。
プラグインは、コアプラットフォームの依存関係要件を拡張することなくNullifyを拡張します。
プラグインは、文書化されたインターフェースとAPIを使用し、個別にインストール、アップグレード、有効化、無効化が可能である必要があります。
オプションのコネクタには次のものが含まれる場合があります。
オプションの統合には次のものが含まれる場合があります。
クラウドプラグインはオプションのままであり、Nullifyがベンダーニュートラルであることを維持する必要があります。
オプションのコンプライアンスポリシーパックには次のものが含まれる場合があります。
コンプライアンスプラグインは、規制要件をコアエンジンにハードコードするのではなく、ポリシーテンプレートとマッピングを提供する必要があります。
AI機能はオプションのままにしておく必要があります。
可能なプラグインは次のとおりです。
AI生成のレコメンデーションは、ポリシー制御と人間による監督の対象であり続ける必要があります。
オプションのワークフロー統合には次のものが含まれる場合があります。
オプションのイベント統合には次のものが含まれる場合があります。
オプションの認証およびID統合には次のものが含まれる場合があります。
オプションの通知統合には次のものが含まれる場合があります。
Nullifyは、監査記録、証拠、メタデータ、システム状態のためにオプションのストレージバックエンドをサポートする場合があります。
可能なプラグインは次のとおりです。
オプションのデプロイモジュールは、以下を提供する場合があります。
セキュリティは、オプションのプラグインではなく中核的な要件です。
Nullifyは以下を提供する必要があります。
Nullifyは、アプリケーション設定に平文の資格情報を保存することを決して要求してはなりません。
削除は潜在的に破壊的であるため、Nullifyはライフサイクル決定を実行から分離します。
推奨されるライフサイクルは次のとおりです。
ドライランモードにより、組織は破壊的なアクションを実行する前に期待される結果を評価できます。
Nullifyは、自動削除を防ぐライフサイクル例外をサポートする必要があります。
例は次のとおりです。
リーガルホールドまたは承認された例外は、設定されたポリシー階層に従って、通常の削除ポリシーよりも優先される必要があります。
Nullifyは、ポリシーが競合するライフサイクル決定を生成する状況を特定する必要があります。
例は次のとおりです。
システムは競合を説明し、それに寄与したポリシーを特定する必要があります。
すべての重要なライフサイクル決定は説明可能である必要があります。
Nullifyは、以下を含む決定記録を提供する必要があります。
これにより、ポリシー定義からライフサイクル結果までの監査可能なチェーンが作成されます。
Nullifyは、仕様レベルでテクノロジー中立性を維持するように設計されています。
リファレンス実装では、以下を使用する場合があります。
これらのテクノロジーは、Nullify仕様の必須要件ではなく、実装の選択肢です。
Nullifyはモジュール式アーキテクチャに従うため、組織は必要な機能のみをデプロイできます。
コアプラットフォームは以下を提供する必要があります。
オプション機能は、プラグインを通じて提供される必要があります。
このアーキテクチャにより、コアプラットフォームが特定のベンダー、クラウドプロバイダー、データベース、AIシステム、コンプライアンスフレームワーク、またはインフラストラクチャプラットフォームに密結合することを防ぎます。
プラグインは次のことを行う必要があります。
プラグインは、ライフサイクルポリシーまたは認可制御を回避してはなりません。
Nullifyは、以下に関する運用テレメトリを公開する必要があります。
オプションの可観測性プラグインは、外部の監視およびロギングプラットフォームと統合する場合があります。
Nullifyは以下をサポートする必要があります。
失敗した削除が成功として黙って報告されることは決してあってはなりません。
Nullifyは以下をサポートする必要があります。
組織は、独自のホステッドサービスに依存せずにNullifyを運用できる必要があります。
Nullifyは、コミュニティ主導のオープンソースプロジェクトとして開発されることを意図しています。
貢献者は以下の方法で参加できます:
モジュラーアーキテクチャにより、機能がプラグインとして実装できる場合、貢献者は基盤となるライフサイクルエンジンを変更することなくNullifyを拡張できます。
Nullifyは以下を提供するように設計されています:
Nullify は GNU Affero General Public License v3.0以降 (AGPL-3.0+) の下でリリースされています。
このプロジェクトに貢献することにより、あなたの貢献もこのライセンスの下でリリースされることに同意したものとみなされます。
以下の点にご注意ください:
notice.md も更新する必要があります。完全な法的詳細については、AGPL-3.0+ライセンスおよびプロジェクトの notice.md ファイルを参照してください。
Open Arsenal Hub
https://gitlab.com/Roxanne_Ardary/open-arsenal-specs