安全。透明。已清除。
Nullify 是一个开源、模块化的数据保留、删除和生命周期治理平台。它提供了一个集中式框架,用于发现数据、评估保留策略、执行受控的生命周期操作,并在分布式数据环境中维护可验证的审计记录。
Nullify 围绕规范优先的架构设计。核心模块提供数据生命周期治理所需的基础能力,而可选插件模块则通过额外的连接器、合规框架、智能、集成、存储系统和部署能力扩展 Nullify。
Nullify 为集中式数据生命周期管理定义了一种开源架构。
该规范建立在以下原则之上:
Nullify 不要求组织将其数据迁移到专有的集中式存储库中。相反,该系统在现有数据环境中协调生命周期策略和操作。
Nullify 分为两个主要的架构层:
核心模块包含运行 Nullify 所需的基础功能。可选插件提供专门功能,同时不会使基础平台依赖于特定的数据库、云提供商、合规框架、AI 系统、通知平台或基础设施环境。
主要生命周期流程为:
发现 → 分类 → 策略评估 → 审批 → 调度 → 执行 → 验证 → 审计
每个阶段都由一个可独立维护的核心模块表示。
数据发现模块识别并清点由 Nullify 管理的数据资源。
功能包括:
该模块为下游生命周期策略提供所需的清单,而无需将底层数据复制到 Nullify 中。
数据分类模块为已发现的资源分配结构化元数据。
功能包括:
分类结果成为策略评估过程的输入。
策略引擎是 Nullify 的核心决策组件。
功能包括:
策略应是声明式的且机器可读。
Nullify 应支持多种策略格式,同时维护规范化的内部策略模型。
生命周期决策模块将策略评估转换为明确的生命周期决策。
支持的决策包括:
每个决策都应包含足够的元数据,以说明:
Nullify 不应假设每个破坏性操作都可以完全自动化。
审批模块提供受控的人工监督。
功能包括:
组织可以配置哪些操作需要人工审批,哪些可以自动执行。
调度模块管理生命周期操作的执行时间。
功能包括:
调度应将执行某项操作的决策与该操作的实际执行分离。
操作执行模块对已注册的数据源执行经批准的生命周期操作。
支持的生命周期操作包括:
功能包括:
破坏性操作应根据已配置的策略要求明确授权。
验证模块确认生命周期操作是否成功完成。
功能包括:
验证应区分:
审计与证据模块记录每个重要系统操作的完整生命周期。
功能包括:
审计记录应能重建生命周期决策发生的原因以及之后发生的情况。
数据血统模块跟踪数据资源之间的关系。
功能包括:
血统使 Nullify 能够识别可能也需要保留、归档、匿名化或删除的相关资源。
访问控制模块保护管理和生命周期操作。
功能包括:
破坏性操作应使用最小权限授权。
通知模块提供系统和生命周期通知。
功能包括:
核心模块应公开通知接口,而投递机制保持可替换。
API 模块提供对 Nullify 的程序化访问。
功能包括:
API 应公开稳定的版本化接口。
仪表盘提供主要的管理界面。
功能包括:
仪表盘应提供可见性,而无需用户直接与底层数据库或执行系统交互。
报告模块将生命周期数据转换为运营和合规报告。
功能包括:
支持的导出格式应包括:
多租户模块允许 Nullify 在多个组织环境中运行。
功能包括:
租户边界应在授权和数据访问层强制执行。
联合模块协调多个 Nullify 安装实例。
功能包括:
联合应允许组织保留对数据的本地控制,同时集中协调生命周期治理。
插件扩展 Nullify,而不会扩大核心平台的依赖要求。
插件应使用已记录的接口和 API,并且应可独立安装、升级、启用和禁用。
可选连接器可包括:
可选集成可包括:
云插件应保持可选,以便 Nullify 保持厂商中立。
可选的合规策略包可包括:
合规插件应提供策略模板和映射,而不是将法规要求硬编码到核心引擎中。
AI 功能应保持可选。
可能的插件包括:
AI 生成的建议应始终受策略控制和人工监督的约束。
可选工作流集成可包括:
可选事件集成可包括:
可选身份验证和身份集成可包括:
可选通知集成可包括:
Nullify 可支持用于审计记录、证据、元数据和系统状态的可选存储后端。
可能的插件包括:
可选部署模块可提供:
安全是核心要求,而非可选插件。
Nullify 应提供:
Nullify 绝不应要求将明文凭据存储在应用程序配置中。
由于删除具有潜在破坏性,Nullify 将生命周期决策与执行分离。
推荐的生命周期为:
试运行模式应允许组织在执行破坏性操作之前评估预期结果。
Nullify 必须支持阻止自动删除的生命周期例外。
示例包括:
根据已配置的策略层级,法律保留或已批准的例外应优先于普通删除策略。
Nullify 应识别策略产生冲突生命周期决策的情况。
示例包括:
系统应解释冲突并识别哪些策略导致了该冲突。
每个重要的生命周期决策都应可解释。
Nullify 应提供包含以下内容的决策记录:
这创建了从策略定义到生命周期结果的可审计链条。
Nullify 旨在规范层面保持技术中立。
参考实现可使用:
这些技术是实现选择,而非 Nullify 规范的强制性要求。
Nullify 遵循模块化架构,以便组织仅部署其所需的功能。
核心平台应提供:
可选功能应通过插件交付。
该架构防止核心平台与特定厂商、云提供商、数据库、AI 系统、合规框架或基础设施平台紧密耦合。
插件应:
插件不得规避生命周期策略或授权控制。
Nullify 应公开以下操作遥测:
可选的可观测性插件可集成外部监控和日志平台。
Nullify 应支持:
失败的删除绝不应被静默报告为成功。
Nullify 应支持:
组织应能够在不依赖专有托管服务的情况下运行 Nullify。
Nullify 旨在作为一个社区驱动的开源项目进行开发。
贡献者可以通过以下方式参与:
模块化架构允许贡献者在不修改基础生命周期引擎的情况下扩展 Nullify,只要功能可以作为插件实现。
Nullify 的设计目标包括:
Nullify 根据 GNU Affero 通用公共许可证 v3.0 或更高版本(AGPL-3.0+) 发布。
贡献本项目即表示您同意您的贡献也将根据该许可证发布。
请注意以下事项:
notice.md。有关完整的法律细节,请参阅 AGPL-3.0+ 许可证和项目的 notice.md 文件。
Open Arsenal Hub
https://gitlab.com/Roxanne_Ardary/open-arsenal-specs