
Sistema automatizado e orientado por políticas de retenção e exclusão de dados com trilhas de auditoria imutáveis, RBAC/ABAC, conformidade multijurisdicional e classificação por AI/ML para dados sensíveis.
# Nullify **Seguro. Transparente. Anulado.** Nullify é uma plataforma de código aberto e modular para retenção de dados, exclusão e governança de ciclo de vida. Ela fornece uma estrutura centralizada para descobrir dados, avaliar políticas de retenção, executar ações controladas de ciclo de vida e manter registros de auditoria verificáveis em ambientes de dados distribuídos. Nullify é projetado em torno de uma arquitetura centrada em especificações. Os módulos principais fornecem as capacidades fundamentais necessárias para a governança do ciclo de vida dos dados, enquanto os módulos de plugin opcionais estendem o Nullify com conectores adicionais, estruturas de conformidade, inteligência, integrações, sistemas de armazenamento e capacidades de implantação. ## Especificação A especificação é construída em torno de vários princípios: - Coordenação centralizada de políticas - Suporte a fontes de dados distribuídas - Retenção e exclusão orientadas por políticas - Autorização e aprovação explícitas - Fluxos de trabalho de simulação (dry-run) e validação - Auditoria imutável e verificável - Linhagem e proveniência de dados - Conectores e integrações modulares - Supervisão humana para operações destrutivas - Execução segura por padrão - Arquitetura neutra em relação a fornecedores - Implantação local, em nuvem, híbrida e federada - Arquitetura de plugins extensível - Avaliação transparente de políticas - Decisões reproduzíveis de ciclo de vida Nullify não exige que as organizações migrem seus dados para um repositório centralizado proprietário. Em vez disso, o sistema coordena políticas e ações de ciclo de vida em ambientes de dados existentes. ## Arquitetura Nullify é dividido em duas camadas arquiteturais principais: 1. Módulos Principais 2. Módulos de Plugin Opcionais Os módulos principais contêm a funcionalidade fundamental necessária para operar o Nullify. Os plugins opcionais fornecem funcionalidade especializada sem tornar a plataforma base dependente de um banco de dados, provedor de nuvem, estrutura de conformidade, sistema de IA, plataforma de notificação ou ambiente de infraestrutura específico. ### Arquitetura Principal O fluxo principal do ciclo de vida é: **Descoberta → Classificação → Avaliação de Políticas → Aprovação → Agendamento → Execução → Verificação → Auditoria** Cada etapa é representada por um módulo principal independente e de fácil manutenção. ## Módulos Principais ### 1. Módulo de Descoberta de Dados O Módulo de Descoberta de Dados identifica e inventaria os recursos de dados gerenciados pelo Nullify. Os recursos incluem: - Registro de fontes de dados - Descoberta de recursos - Inventários de conjuntos de dados e objetos - Coleta de metadados - Metadados de propriedade de dados - Carimbos de data/hora de criação e modificação - Metadados de acesso - Rastreamento de localização de armazenamento - Rastreamento de status de recursos - Monitoramento de integridade de fontes de dados - Agendamento de descoberta O módulo fornece o inventário exigido pelas políticas de ciclo de vida a jusante sem exigir que os dados subjacentes sejam copiados para o Nullify. ### 2. Módulo de Classificação de Dados O Módulo de Classificação de Dados atribui metadados estruturados aos recursos descobertos. Os recursos incluem: - Atribuição de categoria de dados - Classificação de sensibilidade - Classificação de PII - Classificação de dados financeiros - Classificação de dados de saúde - Classificação interna e pública - Classificações definidas pelo usuário - Confiança da classificação - Histórico de classificação - Classificação manual - Substituições de classificação Os resultados da classificação tornam-se entradas para o processo de avaliação de políticas. ### 3. Módulo de Mecanismo de Políticas O Mecanismo de Políticas é o componente central de tomada de decisão do Nullify. Os recursos incluem: - Políticas de retenção - Políticas de exclusão - Políticas de arquivamento - Políticas de anonimização - Regras de retenção legal - Regras de exceção - Prioridades de políticas - Herança de políticas - Versionamento de políticas - Ativação e expiração de políticas - Simulação de políticas - Detecção de conflitos de políticas - Validação de políticas - Reversão de políticas As políticas devem ser declarativas e legíveis por máquina. O Nullify deve suportar vários formatos de política, mantendo um modelo de política interno normalizado. ### 4. Módulo de Decisão de Ciclo de Vida O Módulo de Decisão de Ciclo de Vida converte avaliações de políticas em decisões explícitas de ciclo de vida. As decisões suportadas incluem: - Reter - Revisar - Arquivar - Anonimizar - Excluir - Retenção legal - Exceção - Adiar Cada decisão deve conter metadados suficientes para explicar: - Qual decisão foi tomada - Qual recurso foi afetado - Qual política produziu a decisão - Qual versão da política foi usada - Quando a decisão foi criada - Quando a decisão deve ser executada - Se a aprovação é necessária ### 5. Módulo de Aprovação e Supervisão Humana O Nullify não deve presumir que toda operação destrutiva pode ser totalmente automatizada. O Módulo de Aprovação fornece supervisão humana controlada. Os recursos incluem: - Filas de aprovação - Aprovação multipessoal - Aprovação baseada em funções - Delegação de aprovação - Expiração de aprovação - Fluxos de trabalho de rejeição - Fluxos de trabalho de escalonamento - Retenções de emergência - Substituições manuais - Histórico de aprovações As organizações podem configurar quais ações exigem aprovação humana e quais podem ser executadas automaticamente. ### 6. Módulo de Agendamento O Módulo de Agendamento gerencia quando as ações de ciclo de vida ocorrem. Os recursos incluem: - Exclusão agendada - Arquivamento agendado - Anonimização agendada - Processamento em lote - Filas de prioridade - Janelas de manutenção - Agendamento ciente de recursos - Agendamento de novas tentativas - Execução ciente de dependências - Balanceamento de carga - Limitação de execução O agendamento deve separar a decisão de executar uma ação da execução real dessa ação. ### 7. Módulo de Execução de Ações O Módulo de Execução de Ações realiza operações de ciclo de vida aprovadas em fontes de dados registradas. As ações de ciclo de vida suportadas incluem: - Excluir - Arquivar - Anonimizar - Redigir - Colocar em quarentena - Mover - Expirar - Revogar acesso Os recursos incluem: - Execução de simulação (dry-run) - Validação pré-execução - Confirmação de execução - Operações cientes de transações quando suportadas - Tratamento de novas tentativas - Detecção de falhas - Rastreamento de falhas parciais - Status de execução - Recibos de execução - Execução idempotente - Controles de execução segura Ações destrutivas devem exigir autorização explícita de acordo com a política configurada. ### 8. Módulo de Verificação O Módulo de Verificação confirma se as ações de ciclo de vida foram concluídas com êxito. Os recursos incluem: - Verificação de exclusão - Verificação de arquivamento - Verificação de anonimização - Confirmação de origem - Verificação de réplica - Verificação de novas tentativas - Detecção de ações com falha - Detecção de dados residuais - Relatórios de verificação A verificação deve distinguir entre: - Solicitada - Autorizada - Agendada - Executada - Verificada - Com falha - Parcialmente concluída ### 9. Módulo de Auditoria e Evidências O Módulo de Auditoria e Evidências registra o ciclo de vida completo de toda ação importante do sistema. Os recursos incluem: - Eventos de auditoria imutáveis - Integridade criptográfica de eventos - Registros de decisões de políticas - Registros de aprovações - Registros de execução - Registros de verificação - Registros de atividades do usuário - Histórico de configuração - Histórico de políticas - Exportação de auditoria - Pacotes de evidências - Registros de cadeia de custódia Os registros de auditoria devem permitir reconstruir por que uma decisão de ciclo de vida ocorreu e o que aconteceu depois. ### 10. Módulo de Linhagem de Dados O Módulo de Linhagem de Dados rastreia as relações entre recursos de dados. Os recursos incluem: - Linhagem de origem - Linhagem de destino - Linhagem de transformação - Relações de cópia - Relações de replicação - Relações de dados derivados - Relações pai-filho - Histórico de movimentação de dados - Propagação de ciclo de vida A linhagem permite que o Nullify identifique recursos relacionados que também possam exigir retenção, arquivamento, anonimização ou exclusão. ### 11. Módulo de Controle de Acesso O Módulo de Controle de Acesso protege as operações administrativas e de ciclo de vida. Os recursos incluem: - Controle de Acesso Baseado em Funções (RBAC) - Controle de Acesso Baseado em Atributos (ABAC) - Gerenciamento de permissões - Permissões em nível de recurso - Permissões em nível de ação - Permissões de aprovação - Separação administrativa - Gerenciamento de sessões - Integração de autenticação - Auditoria de autorização Operações destrutivas devem usar autorização de privilégio mínimo. ### 12. Módulo de Notificação O Módulo de Notificação fornece notificações do sistema e do ciclo de vida. Os recursos incluem: - Alertas de violação de políticas - Alertas de execução com falha - Notificações de aprovação - Notificações de ações agendadas - Falhas de verificação - Falhas de fontes de dados - Alertas de conformidade - Notificações administrativas O módulo principal deve expor uma interface de notificação enquanto os mecanismos de entrega permanecem substituíveis. ### 13. Módulo de API O Módulo de API fornece acesso programático ao Nullify. Os recursos incluem: - REST API - GraphQL API - Autenticação - Autorização - Gerenciamento de recursos - Gerenciamento de políticas - Gerenciamento de ciclo de vida - Consultas de auditoria - Relatórios - Gerenciamento de plugins - Operações administrativas As APIs devem expor interfaces versionadas e estáveis. ### 14. Módulo de Painel O Painel fornece a principal interface administrativa. Os recursos incluem: - Inventário de dados - Status de retenção - Ações pendentes - Status de políticas - Filas de aprovação - Status de execução - Status de verificação - Histórico de auditoria - Conflitos de políticas - Métricas de conformidade - Integridade do sistema - Status de plugins O painel deve fornecer visibilidade sem exigir que os usuários interajam diretamente com bancos de dados ou sistemas de execução subjacentes. ### 15. Módulo de Relatórios O Módulo de Relatórios converte dados de ciclo de vida em relatórios operacionais e de conformidade. Os recursos incluem: - Relatórios de retenção - Relatórios de exclusão - Relatórios de políticas - Relatórios de auditoria - Relatórios de exceções - Relatórios de retenção legal - Relatórios de execução - Relatórios de verificação - Relatórios de inventário de dados - Pacotes de evidências de conformidade Os formatos de exportação suportados devem incluir: - JSON - CSV - PDF - Formatos estruturados de evidências legíveis por máquina ### 16. Módulo Multi-inquilino O Módulo Multi-inquilino permite que o Nullify opere em vários ambientes organizacionais. Os recursos incluem: - Isolamento de organizações - Políticas específicas por inquilino - Administradores específicos por inquilino - Registros de auditoria específicos por inquilino - Conectores específicos por inquilino - Regras de retenção específicas por inquilino - Relatórios específicos por inquilino - Configuração em nível de inquilino Os limites dos inquilinos devem ser aplicados nas camadas de autorização e acesso a dados. ### 17. Módulo de Federação O Módulo de Federação coordena múltiplas instalações do Nullify. Os recursos incluem: - Coordenação multi-cluster - Políticas federadas - Execução distribuída - Aplicação regional do ciclo de vida - Coordenação de auditoria entre ambientes - Visibilidade centralizada - Execução local - Verificação federada A federação deve permitir que as organizações mantenham o controle local sobre seus dados enquanto coordenam a governança do ciclo de vida de forma centralizada. ## Módulos de Plugin Opcionais Os plugins estendem o Nullify sem expandir os requisitos de dependência da plataforma principal. Os plugins devem usar interfaces e APIs documentadas e devem ser instaláveis, atualizáveis, ativáveis e desativáveis de forma independente. ### Plugins de Fontes de Dados Os conectores opcionais podem incluir: - PostgreSQL - MySQL - MariaDB - Microsoft SQL Server - Oracle Database - MongoDB - Redis - Elasticsearch - OpenSearch - Snowflake - BigQuery - Databricks - Apache Cassandra - Armazenamento compatível com S3 - Google Cloud Storage - Azure Blob Storage - Sistemas de arquivos de rede - Sistemas de armazenamento de objetos - APIs REST personalizadas ### Plugins de Provedores de Nuvem As integrações opcionais podem incluir: - AWS - Microsoft Azure - Google Cloud - Cloudflare - DigitalOcean - Outra infraestrutura compatível com S3 Os plugins de nuvem devem permanecer opcionais para que o Nullify permaneça neutro em relação a fornecedores. ### Plugins de Conformidade Os pacotes opcionais de políticas de conformidade podem incluir: - GDPR - CCPA - CPRA - HIPAA - GLBA - FERPA - PCI DSS - SOX - Requisitos regionais de privacidade - Estruturas de conformidade específicas da organização Os plugins de conformidade devem fornecer modelos de políticas e mapeamentos, em vez de codificar requisitos regulatórios diretamente no mecanismo principal. ### Plugins de IA e Inteligência A funcionalidade de IA deve permanecer opcional. Os plugins possíveis incluem: - Classificação de dados confidenciais - Detecção de PII - Classificação de documentos - Reconhecimento de entidades - Recomendações de retenção - Análise de conflitos de políticas - Otimização de políticas - Detecção de anomalias - Análise de exclusões com falha - Assistência de conformidade - Criação de políticas em linguagem natural As recomendações geradas por IA devem permanecer sujeitas aos controles de políticas e à supervisão humana. ### Plugins de Fluxo de Trabalho As integrações opcionais de fluxo de trabalho podem incluir: - Apache Airflow - Dagster - Temporal - Kubernetes Jobs - GitLab CI/CD - Outras plataformas de orquestração de fluxo de trabalho ### Plugins de Barramento de Eventos As integrações opcionais de eventos podem incluir: - Apache Kafka - RabbitMQ - NATS - Redis Streams - MQTT - Sistemas de eventos em nuvem ### Plugins de Identidade As integrações opcionais de autenticação e identidade podem incluir: - LDAP - Active Directory - OAuth - OpenID Connect - SAML - Provedores de identidade empresarial ### Plugins de Notificação As integrações opcionais de notificação podem incluir: - Email - Slack - Microsoft Teams - Webhooks - PagerDuty - Outros serviços de notificação ### Plugins de Armazenamento O Nullify pode suportar backends de armazenamento opcionais para registros de auditoria, evidências, metadados e estado do sistema. Os plugins possíveis incluem: - PostgreSQL - SQLite - MariaDB - Armazenamento de objetos compatível com S3 - MinIO - Bancos de dados distribuídos - Sistemas de armazenamento empresarial ### Plugins de Implantação Os módulos opcionais de implantação podem fornecer: - Docker - Docker Compose - Kubernetes - Helm - Terraform - Ansible - Modelos de implantação em nuvem ## Arquitetura de Segurança A segurança é um requisito principal, não um plugin opcional. O Nullify deve fornecer: - Criptografia em trânsito - Criptografia em repouso - Autorização de privilégio mínimo - Tratamento seguro de credenciais - Integração de gerenciamento de segredos - Autenticação - Autorização - Registro de auditoria - Integridade criptográfica da auditoria - Limitação de taxa - Segurança de API - Separação administrativa - Isolamento seguro de plugins - Validação de configuração - Padrões seguros O Nullify nunca deve exigir que credenciais em texto simples sejam armazenadas na configuração do aplicativo. ## Arquitetura de Exclusão Segura Como a exclusão é potencialmente destrutiva, o Nullify separa as decisões de ciclo de vida da execução. O ciclo de vida recomendado é: 1. Descobrir o recurso 2. Classificar o recurso 3. Avaliar as políticas aplicáveis 4. Gerar uma decisão de ciclo de vida 5. Verificar exceções e retenções legais 6. Solicitar aprovação quando necessário 7. Agendar a ação 8. Executar a ação 9. Verificar o resultado 10. Registrar a evidência 11. Atualizar o estado do ciclo de vida 12. Relatar o resultado O modo de simulação (dry-run) deve permitir que as organizações avaliem o resultado esperado antes de executar ações destrutivas. ## Retenções Legais e Exceções O Nullify deve suportar exceções de ciclo de vida que impeçam a exclusão automatizada. Exemplos incluem: - Retenções legais - Investigações - Disputas ativas - Requisitos regulatórios de preservação - Investigações de segurança - Exceções organizacionais - Extensões temporárias de retenção Uma retenção legal ou exceção aprovada deve ter precedência sobre as políticas comuns de exclusão, de acordo com a hierarquia de políticas configurada. ## Detecção de Conflitos de Políticas O Nullify deve identificar situações em que as políticas produzem decisões conflitantes de ciclo de vida. Exemplos incluem: - Excluir versus reter - Excluir versus retenção legal - Arquivar versus excluir - Períodos de retenção conflitantes - Políticas organizacionais conflitantes - Políticas jurisdicionais conflitantes O sistema deve explicar o conflito e identificar quais políticas contribuíram para ele. ## Transparência Toda decisão importante de ciclo de vida deve ser explicável. O Nullify deve fornecer um registro de decisão contendo: - Recurso - Classificação de dados - Políticas aplicáveis - Versões de políticas - Avaliação de políticas - Exceções - Requisitos de aprovação - Decisão final - Status de execução - Status de verificação - Eventos de auditoria relevantes Isso cria uma cadeia auditável desde a definição da política até o resultado do ciclo de vida. ## Arquitetura de Tecnologia O Nullify é projetado para permanecer neutro em termos de tecnologia no nível de especificação. Uma implementação de referência pode usar: - Python - FastAPI - React - PostgreSQL - Open Policy Agent - Apache Airflow - Dagster - Docker - Kubernetes - MinIO - Apache Kafka - RabbitMQ - NATS Essas tecnologias são escolhas de implementação, não requisitos obrigatórios da especificação Nullify. ## Design Modular O Nullify segue uma arquitetura modular para que as organizações possam implantar apenas a funcionalidade de que precisam. A plataforma principal deve fornecer: - Descoberta - Classificação - Avaliação de políticas - Decisões de ciclo de vida - Aprovação - Agendamento - Execução - Verificação - Auditoria - Linhagem - Controle de acesso - Notificações - APIs - Painel - Relatórios - Multi-inquilino - Federação A funcionalidade opcional deve ser entregue por meio de plugins. Essa arquitetura impede que a plataforma principal se torne fortemente acoplada a fornecedores específicos, provedores de nuvem, bancos de dados, sistemas de IA, estruturas de conformidade ou plataformas de infraestrutura. ## Requisitos de Plugins Os plugins devem: - Usar interfaces documentadas - Manter configuração independente - Declarar dependências - Fornecer verificações de integridade - Suportar operações de ativação e desativação - Fornecer relatórios de erros claros - Respeitar a autorização do Nullify - Emitir eventos de auditoria apropriados - Evitar contornar a avaliação de políticas principal - Manter compatibilidade com as versões de API suportadas - Incluir documentação - Incluir testes Os plugins não devem contornar as políticas de ciclo de vida ou os controles de autorização. ## Observabilidade O Nullify deve expor telemetria operacional para: - Descoberta de dados - Avaliação de políticas - Profundidade da fila - Ações agendadas - Desempenho de execução - Falhas de execução - Falhas de verificação - Desempenho da API - Integridade dos plugins - Integridade das fontes de dados - Integridade do sistema Plugins opcionais de observabilidade podem ser integrados a plataformas externas de monitoramento e registro de logs. ## Confiabilidade O Nullify deve suportar: - Novas tentativas - Ações idempotentes - Recuperação de falhas - Persistência de fila - Pontos de verificação de execução - Verificações de integridade - Recuperação de serviço - Backup e restauração - Recuperação de desastres - Tratamento de falhas parciais Uma exclusão com falha nunca deve ser silenciosamente relatada como bem-sucedida. ## Modelos de Implantação O Nullify deve suportar: - Desenvolvimento local - Implantação em servidor único - Implantação com Docker - Implantação com Kubernetes - Implantação local (on-premises) - Implantação em nuvem - Implantação híbrida - Implantação multirregional - Implantação federada As organizações devem poder operar o Nullify sem depender de um serviço hospedado proprietário. ## Roteiro de Funcionalidades ### Principal - [ ] Descoberta de Dados - [ ] Classificação de Dados - [ ] Mecanismo de Políticas - [ ] Decisões de Ciclo de Vida - [ ] Fluxos de Trabalho de Aprovação - [ ] Agendamento - [ ] Execução de Ações - [ ] Modo de Simulação (Dry-Run) - [ ] Verificação de Execução - [ ] Auditoria e Evidências - [ ] Linhagem de Dados - [ ] RBAC - [ ] ABAC - [ ] Notificações - [ ] REST API - [ ] GraphQL API - [ ] Painel - [ ] Relatórios - [ ] Multi-inquilino - [ ] Federação ### Segurança - [ ] Criptografia em Trânsito - [ ] Criptografia em Repouso - [ ] Gerenciamento Seguro de Credenciais - [ ] Integração de Gerenciamento de Segredos - [ ] Integridade Criptográfica da Auditoria - [ ] Autorização de Privilégio Mínimo - [ ] Separação Administrativa - [ ] Arquitetura Segura de Plugins ### Governança - [ ] Versionamento de Políticas - [ ] Reversão de Políticas - [ ] Simulação de Políticas - [ ] Detecção de Conflitos de Políticas - [ ] Retenções Legais - [ ] Exceções de Ciclo de Vida - [ ] Precedência de Políticas - [ ] Recomendações de Retenção - [ ] Relatórios de Conformidade ### Confiabilidade - [ ] Execução Idempotente - [ ] Gerenciamento de Novas Tentativas - [ ] Recuperação de Falhas - [ ] Pontos de Verificação de Execução - [ ] Monitoramento de Integridade - [ ] Backup e Restauração - [ ] Recuperação de Desastres ### Plugins Opcionais- [ ] Conectores SQL - [ ] Conectores NoSQL - [ ] Conectores de Armazenamento de Objetos - [ ] Conectores de Provedores de Nuvem - [ ] Pacotes de Políticas de Conformidade - [ ] Classificação por IA - [ ] Consultor de Conformidade com IA - [ ] Integrações de Fluxo de Trabalho - [ ] Integrações de Barramento de Eventos - [ ] Integrações de Identidade - [ ] Integrações de Notificação - [ ] Integrações de Observabilidade - [ ] Backends de Armazenamento Adicionais - [ ] Integrações de Implantação --- ## Desenvolvimento de Código Aberto O Nullify pretende ser desenvolvido como um projeto de código aberto conduzido pela comunidade. Os contribuidores podem participar: - Desenvolvendo módulos principais - Criando plugins - Construindo conectores - Escrevendo pacotes de políticas - Melhorando a documentação - Criando testes - Reportando bugs - Melhorando a segurança - Desenvolvendo integrações - Propondo melhorias de especificação A arquitetura modular permite que os contribuidores estendam o Nullify sem modificar o mecanismo fundamental do ciclo de vida sempre que um recurso puder ser implementado como um plugin. ## Objetivos de Design O Nullify foi projetado para fornecer: - Transparência em vez de automação opaca do ciclo de vida - Governança orientada por políticas em vez de processos manuais - Arquitetura modular em vez de dependências monolíticas - Neutralidade de fornecedores em vez de aprisionamento a plataformas - Evidências verificáveis em vez de alegações não verificáveis - Supervisão humana em vez de automação descontrolada - Extensibilidade de código aberto em vez de integrações proprietárias - Governança centralizada com execução distribuída - Exclusão segura em vez de destruição descontrolada --- ## Licença de Marca de Especificação (SBL) ### Padrão - Sistema totalmente compatível com AGPL-3.0+ - Copyleft aplicado para implantações de rede - Atribuição obrigatória: - Roxanne Ardary - https://www.roxanneardary.com/ ### Opcional - **Licença de Marca de Especificação (SBL)** - Implantação comercial sem exigência de atribuição - Preços baseados em escala, uso e escopo de implantação - [https://roxanneardary.com/nullify/](https://roxanneardary.com/nullify/) --- ## 📄 Requisitos de Licença e Aviso O **Nullify** é distribuído sob a **GNU Affero General Public License v3.0 ou posterior (AGPL-3.0+)**. Ao contribuir para este projeto, você concorda que suas contribuições também serão distribuídas sob esta licença. Observe o seguinte: - Todas as contribuições devem estar em conformidade com os termos da **AGPL-3.0+**. - De acordo com a **Seção 7** da licença, todas as redistribuições, forks e trabalhos derivados devem preservar a atribuição a: **Roxanne Ardary** e **[roxanneardary.com](https://www.roxanneardary.com/)**. - As especificações do Nullify são gratuitas para uso com atribuição. Uma Licença de Marca de Especificação pode ser negociada mediante solicitação. - O arquivo **notice.md** do projeto monitora os requisitos de atribuição e os reconhecimentos dos contribuidores. Qualquer atualização que adicione novos contribuidores ou modifique a atribuição também deve atualizar o `notice.md`. - Ao enviar um pull request, certifique-se de que novos arquivos mantenham os cabeçalhos de atribuição quando aplicável. - Versões deste software implantadas em rede também devem permanecer totalmente compatíveis com a AGPL-3.0+, incluindo a exposição das modificações do código-fonte quando aplicável sob a licença. Para obter detalhes legais completos, consulte a licença AGPL-3.0+ e o arquivo `notice.md` do projeto. **Open Arsenal Hub** [https://gitlab.com/Roxanne_Ardary/open-arsenal-specs](https://gitlab.com/Roxanne_Ardary/open-arsenal-specs)