react-lgpd-consent 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/COMPLIANCE.md CHANGED
@@ -1,321 +1,107 @@
1
- # COMPLIANCE.md - react-lgpd-consent v0.2.2
1
+ # Guia de Conformidade e Funcionalidades - react-lgpd-consent v0.3.0
2
2
 
3
3
  ## 📜 Objetivo
4
4
 
5
- Este documento descreve as medidas de conformidade da biblioteca **react-lgpd-consent** com a Lei Geral de Proteção de Dados (LGPD) e o Guia Orientativo da ANPD sobre Cookies e Proteção de Dados Pessoais.
5
+ Este documento descreve as medidas de conformidade da biblioteca **react-lgpd-consent** com a Lei Geral de Proteção de Dados (LGPD) e o Guia Orientativo da ANPD, além de detalhar as ferramentas que auxiliam os desenvolvedores a manter essa conformidade.
6
6
 
7
- ## ✅ Conformidade Atual (v0.2.2 - Sistema de Orientações)
7
+ ## ✅ Conformidade com a LGPD
8
8
 
9
- ### 🛡️ Implementado e Funcional
9
+ A biblioteca implementa os seguintes princípios e requisitos da LGPD:
10
10
 
11
- #### **Consentimento e Transparência**
11
+ - **Consentimento Granular**: O usuário tem controle sobre cada categoria de cookie não essencial.
12
+ - **Minimização de Dados**: Apenas as categorias de cookies ativas no projeto são armazenadas no cookie de consentimento.
13
+ - **Transparência**: O cookie de consentimento armazena metadados de auditoria, como data, versão e origem da decisão.
14
+ - **Facilidade de Revogação**: O usuário pode alterar suas preferências a qualquer momento através do modal.
15
+ - **Segurança**: O cookie é configurado com `SameSite=Lax` e `secure=true` (em HTTPS) por padrão.
12
16
 
13
- - **Consentimento granular**: 6 categorias ANPD + categorias customizadas
14
- - ✅ **Sem pre-check**: cookies não essenciais desativados por padrão
15
- - ✅ **Revogação e reconfiguração**: funções `resetConsent()` e `openPreferences()`
16
- - ✅ **Base legal clara**: Consentimento explícito para cookies não essenciais
17
- - ✅ **Transparência total**: Informações claras sobre finalidade de cada categoria
17
+ ## 🧠 Sistema de Orientações para Desenvolvedores
18
18
 
19
- #### **Interface de Usuário Conforme**
19
+ A biblioteca inclui um sistema inteligente que **orienta os desenvolvedores sobre a configuração adequada**, garantindo que a implementação final esteja em conformidade com a LGPD.
20
20
 
21
- - **Banner não intrusivo**: não bloqueia navegação do usuário
22
- - ✅ **UI dinâmica**: Mostra apenas categorias realmente utilizadas no projeto
23
- - ✅ **Prevenção de spam**: Sistema inteligente evita categorias desnecessárias
24
- - ✅ **Textos ANPD expandidos**: Campos opcionais para compliance completo
21
+ ### Console de Desenvolvimento
25
22
 
26
- #### **Aspectos Técnicos**
23
+ Em ambiente de desenvolvimento, a biblioteca exibe automaticamente no console:
27
24
 
28
- - **Suporte SSR**: via prop `initialState` (evita flash)
29
- - **Acessibilidade**: foco gerenciado, navegação por teclado, ARIA adequado
30
- - **API estável**: identificadores em inglês, textos em pt-BR customizáveis
31
- - ✅ **Segurança robusta**: `SameSite=Lax`, `secure=true`, validação de cookies
32
- - ✅ **Minimização de dados**: Cookie contém apenas categorias utilizadas no projeto
25
+ - **⚠️ Avisos**: Sobre configurações ausentes ou inconsistentes.
26
+ - **💡 Sugestões**: Recomendações para melhorar a conformidade e a experiência do usuário.
27
+ - **🔧 Tabela de Categorias Ativas**: Uma lista clara de quais categorias estão em uso, para auxiliar na construção de UIs customizadas.
33
28
 
34
- #### **🚨 Orientação para Desenvolvedores (NOVO v0.2.2)**
29
+ ```
30
+ [🍪 LGPD-CONSENT] ⚠️ Avisos de Configuração
31
+ [🍪 LGPD-CONSENT] Nenhuma configuração de categorias especificada. Usando padrão: necessary + analytics.
35
32
 
36
- - **Console de compliance**: Avisos automáticos sobre configuração inadequada
37
- - ✅ **Validação inteligente**: Detecta problemas de conformidade e orienta correções
38
- - **Prevenção de erros**: Sistema evita inconsistências entre configuração e UI
39
- - ✅ **Documentação automática**: Orientações baseadas na configuração real do projeto
33
+ [🍪 LGPD-CONSENT] 🔧 Categorias Ativas (para UI customizada)
34
+ ┌─────────────┬──────────────────────┬─────────────┬─────────────┐
35
+ │ ID │ Nome │ Toggle UI? │ Essencial? │
36
+ ├─────────────┼──────────────────────┼─────────────┼─────────────┤
37
+ │ necessary │ Cookies Necessários │ ❌ NÃO │ 🔒 SIM │
38
+ │ analytics │ Cookies Analíticos │ ✅ SIM │ ⚙️ NÃO │
39
+ └─────────────┴──────────────────────┴─────────────┴─────────────┘
40
+ ```
40
41
 
41
- ## 🎯 Conformidade Específica LGPD/ANPD
42
+ **Para desabilitar estas mensagens**, use a prop `disableDeveloperGuidance={true}` no `ConsentProvider`.
42
43
 
43
- ### Artigo 7º LGPD - Bases Legais
44
+ ### Configuração Consciente
44
45
 
45
- - **Consentimento explícito**: Para cookies analytics, marketing, etc.
46
- - ✅ **Interesse legítimo documentado**: Para cookies funcionais essenciais
47
- - ✅ **Transparência**: Usuário informado sobre finalidade de cada categoria
46
+ Para evitar avisos e garantir a conformidade, especifique explicitamente as categorias de cookies que seu projeto utiliza através da prop `categories`:
48
47
 
49
- ### Artigo 9º LGPD - Consentimento
48
+ ```tsx
49
+ <ConsentProvider
50
+ categories={{
51
+ // Habilita apenas as categorias padrão que você realmente usa
52
+ enabledCategories: ['analytics'],
53
+ }}
54
+ >
55
+ <App />
56
+ </ConsentProvider>
57
+ ```
50
58
 
51
- - **Livre**: Banner não bloqueia navegação (modo não-intrusivo por padrão)
52
- - ✅ **Informado**: Descrições claras de cada categoria de cookie
53
- - ✅ **Inequívoco**: Ação positiva necessária (sem pre-check)
54
- - ✅ **Específico**: Granularidade por categoria de finalidade
59
+ ### Hooks de Validação
55
60
 
56
- ### Guia ANPD - Cookies e Proteção de Dados
61
+ Para construir componentes de UI customizados que reagem à configuração, utilize os hooks:
57
62
 
58
- - **6 Categorias conformes**: necessary, analytics, functional, marketing, social, personalization
59
- - **Minimização automática**: Cookie contém apenas categorias do projeto
60
- - ✅ **Configuração consciente**: Sistema orienta sobre quais dados realmente coletar
61
- - ✅ **Auditabilidade**: Logs e orientações para compliance
63
+ - `useCategories()`: Fornece uma lista completa das categorias ativas no projeto.
64
+ - `useCategoryStatus('id')`: Verifica o status de uma categoria específica (se está ativa, se é essencial, etc.).
62
65
 
63
- ### Princípios da LGPD
66
+ ```tsx
67
+ import { useCategoryStatus } from 'react-lgpd-consent'
64
68
 
65
- - **Minimização**: Apenas dados necessários para finalidade específica
66
- - **Finalidade**: Cada categoria tem propósito claro e específico
67
- - ✅ **Transparência**: Informações acessíveis em linguagem clara
68
- - ✅ **Livre acesso**: Usuário pode consultar e modificar preferências
69
- - ✅ **Qualidade dos dados**: Validação e sanitização de cookies
69
+ function AnalyticsFeature() {
70
+ const analytics = useCategoryStatus('analytics')
70
71
 
71
- ## 🚀 Roadmap de Desenvolvimento
72
-
73
- ## 🚀 Roadmap de Desenvolvimento
74
-
75
- ### ✅ v0.2.2 - Sistema de Orientações (IMPLEMENTADO)
76
-
77
- **Foco**: Orientação inteligente para desenvolvedores, prevenção de problemas de compliance
78
-
79
- #### ✅ Implementado
80
-
81
- - ✅ **Sistema de orientações automáticas**: Console de desenvolvimento com avisos e sugestões
82
- - ✅ **UI dinâmica e inteligente**: Componentes se adaptam à configuração do projeto
83
- - ✅ **Validação de configuração**: Detecta problemas e orienta correções
84
- - ✅ **Hooks avançados**: `useCategories()` e `useCategoryStatus()` para componentes customizados
85
- - ✅ **Prevenção de bugs**: Sistema evita inconsistências entre configuração e UI
86
- - ✅ **Configuração padrão defensiva**: `necessary + analytics` quando não especificado
87
- - ✅ **100% backward compatible**: APIs antigas continuam funcionando
88
-
89
- ### v0.2.3 - Compliance Avançado (Próxima Release)
90
-
91
- **Foco**: Estruturas avançadas, transparência total, auditoria
92
-
93
- #### 🏗️ Funcionalidades Principais
94
-
95
- - [ ] **Modal detalhado de cookies**: Catálogo completo com informações técnicas
96
-
97
- ```typescript
98
- interface CookieDetails {
99
- name: string
100
- purpose: string
101
- duration: string
102
- thirdParty?: string
103
- transferCountries?: string[]
104
- lawfulBasis: 'consent' | 'legitimate_interest'
105
- }
106
-
107
- interface CookieRegistry {
108
- [K in Category]: {
109
- description: string
110
- cookies: CookieDetails[]
111
- required: boolean
112
- lawfulBasis: 'consent' | 'legitimate_interest'
113
- }
72
+ // Não renderiza o componente se a categoria 'analytics' não estiver configurada no ConsentProvider
73
+ if (!analytics.isActive) {
74
+ return null
114
75
  }
115
- ```
116
-
117
- - [ ] **Logs de consentimento**: Registro client-side para auditoria
118
-
119
- ```typescript
120
- interface ConsentLog {
121
- timestamp: Date
122
- action: 'given' | 'revoked' | 'modified' | 'configured'
123
- categories: ConsentPreferences
124
- userAgent: string
125
- projectConfig: ProjectCategoriesConfig
126
- }
127
- ```
128
-
129
- - [ ] **Templates setoriais**: Configurações pré-definidas (governo, saúde, educação)
130
- - [ ] **Callbacks expandidos**: Eventos de auditoria e compliance
131
-
132
- ### v0.2.4 - Auditoria e Relatórios
133
-
134
- **Foco**: Ferramentas de compliance para DPO
135
76
 
136
- #### 📊 Funcionalidades Avançadas
77
+ return <AnalyticsDashboard />
78
+ }
79
+ ```
137
80
 
138
- - [ ] **Relatórios de compliance**: `generateComplianceReport()` com dados estruturados
139
- - [ ] **Exportação para DPO**: Dados formatados para auditoria ANPD
140
- - [ ] **Dashboard de métricas**: Estatísticas de consentimento e categorias
141
- - [ ] **Integração com ferramentas**: Export para sistemas de compliance
142
- - [ ] **Assinatura de cookies**: Integridade e não-repúdio opcional
81
+ ## 🚀 Roadmap de Funcionalidades
143
82
 
144
- ## 🎯 Controle de Progresso
83
+ O foco da biblioteca é estabilidade e conformidade.
145
84
 
146
- ### Marcos de Entrega
85
+ ### v0.3.0 (Atual)
147
86
 
148
- #### v0.2.2 - Sistema de Orientações (COMPLETO)
87
+ - **Foco**: Refatoração da arquitetura, melhoria da experiência do desenvolvedor (DX) e quebra de compatibilidade para simplificação.
88
+ - **Status**: Implementado.
149
89
 
150
- - **Lançamento**: 2025-08-12 ✅
151
- - **Status**: Implementado e em produção
152
- - **Funcionalidades**: Sistema de orientações, UI dinâmica, hooks avançados
153
- - **Resultado**: Prevenção proativa de problemas de compliance
90
+ ### Próximas Versões (Pseudo-Versioning)
154
91
 
155
- #### v0.2.3 - Compliance Avançado 📋
156
-
157
- - **Target**: 4-6 semanas
158
- - **Status**: Planejamento
159
- - **Dependências**: Feedback de uso v0.2.2
160
- - **Próximos passos**: Design do `CookieRegistry` e sistema de logs
161
-
162
- #### v0.2.4 - Ferramentas DPO 📊
163
-
164
- - **Target**: 8-10 semanas
165
- - **Status**: Roadmap
166
- - **Dependências**: v0.2.3 + validação com DPOs
167
- - **Próximos passos**: Pesquisa com profissionais de compliance
92
+ - **v0.+1.0 (Multi-Regulamentação e Conformidade Avançada)**:
93
+ - **Geolocalização-based Consent**: Detecção automática da região do usuário para aplicar a regulamentação relevante (LGPD, GDPR, CCPA).
94
+ - **Configurable Regulation Profiles**: Definição de perfis de regulamentação com requisitos específicos.
95
+ - **Dynamic Text Adaptation**: Textos adaptáveis com base na regulamentação ativa.
96
+ - **Modal Detalhado de Cookies**: Exibição de informações técnicas sobre cada cookie (nome, duração, provedor).
97
+ - **Logs de Auditoria**: Sistema de log client-side para registrar todas as interações de consentimento do usuário.
98
+ - **Templates Setoriais**: Configurações e textos pré-definidos para setores específicos (governo, saúde, e-commerce).
99
+ - **Plugin System**: Sistema de plugins para extensibilidade de integrações e lógica customizada.
100
+ - **Improved `ConsentGate`**: Controle mais granular (e.g., `analytics AND functional`).
101
+ - **Enhanced Developer Guidance**: Mais avisos e sugestões detalhadas.
168
102
 
169
103
  ## 🔒 Segurança e Privacidade
170
104
 
171
- ### Implementado (v0.2.2)
172
-
173
- #### **Armazenamento e Persistência**
174
-
175
- - ✅ Armazenamento client-side via `js-cookie` (bibliotecario confiável)
176
- - ✅ `SameSite=Lax`, `secure=true` em HTTPS automaticamente
177
- - ✅ Sem coleta antes do consentimento explícito
178
- - ✅ Validação robusta de entrada e sanitização de dados
179
-
180
- #### **Minimização de Dados (LGPD Art. 6º)**
181
-
182
- - ✅ **Cookie inteligente**: Contém apenas categorias realmente utilizadas no projeto
183
- - ✅ **Configuração consciente**: Sistema orienta sobre quais dados realmente coletar
184
- - ✅ **Prevenção de spam**: Evita categorias desnecessárias na interface
185
- - ✅ **Versioning de schema**: Cookie com `version` para migrações futuras
186
-
187
- #### **Transparência e Auditabilidade**
188
-
189
- - ✅ **Logs estruturados**: Sistema registra decisões de configuração
190
- - ✅ **Orientações automáticas**: Console de desenvolvimento com guidance
191
- - ✅ **Documentação automática**: Baseada na configuração real do projeto
192
- - ✅ **Timestamps**: `consentDate` e `lastUpdate` para auditoria
193
-
194
- ### 🔄 Planejado
195
-
196
- #### **v0.2.3 - Compliance Avançado**
197
-
198
- - 🔄 **Logs de consentimento**: Registro detalhado de ações do usuário
199
- - 🔄 **Base legal específica**: `consent` vs `legitimate_interest` por categoria
200
- - 🔄 **Detalhamento de cookies**: Informações técnicas completas
201
-
202
- #### **v0.2.4 - Auditoria**
203
-
204
- - 🔄 **Relatórios estruturados**: Export para ferramentas de compliance
205
- - 🔄 **Assinatura opcional**: Integridade e não-repúdio de cookies
206
- - 🔄 **Dashboard DPO**: Métricas e estatísticas para prestação de contas
207
-
208
- ## 📈 Métricas de Sucesso
209
-
210
- ### ✅ v0.2.2 - Sistema de Orientações (ALCANÇADO)
211
-
212
- - ✅ **Zero breaking changes**: 100% backward compatibility mantida
213
- - ✅ **Cobertura funcional**: Sistema de orientações implementado completamente
214
- - ✅ **Bundle size otimizado**: Mantido em 11.15 KB ESM
215
- - ✅ **Developer experience**: Console automático com orientações
216
- - ✅ **Type safety**: TypeScript completo para todas as funcionalidades
217
-
218
- ### v0.2.3 - Compliance Avançado (META)
219
-
220
- - [ ] **Templates setoriais**: 3+ setores com configurações pré-definidas
221
- - [ ] **Logs estruturados**: Sistema de auditoria client-side
222
- - [ ] **Feedback DPO**: Validação com 2+ profissionais de compliance
223
- - [ ] **Documentação técnica**: Detalhes de cookies e bases legais
224
-
225
- ### v0.2.4 - Ferramentas DPO (META)
226
-
227
- - [ ] **5+ projetos em produção**: Casos de uso reais documentados
228
- - [ ] **Dashboard funcional**: Relatórios automáticos de compliance
229
- - [ ] **Integração com ferramentas**: Export para sistemas de auditoria
230
- - [ ] **Templates por setor**: E-commerce, governo, saúde, educação
231
-
232
- ## 🎯 Casos de Uso Validados
233
-
234
- ### ✅ Projetos Governamentais
235
-
236
- - **ANPD Compliance**: Categorias baseadas no Guia Orientativo oficial
237
- - **Acessibilidade**: WCAG AAA compatível
238
- - **Auditabilidade**: Logs e decisões rastreáveis
239
-
240
- ### ✅ E-commerce e Marketing
241
-
242
- - **Granularidade**: Controle fino sobre cookies de marketing
243
- - **Performance**: Zero impacto no carregamento inicial
244
- - **Integração**: Google Analytics, Tag Manager, UserWay nativos
245
-
246
- ### ✅ Aplicações Enterprise
247
-
248
- - **Customização**: Categorias específicas por projeto
249
- - **Orientação**: Sistema previne erros de configuração
250
- - **Manutenibilidade**: UI se adapta automaticamente às mudanças
251
-
252
- ## 📚 Referências e Padrões
253
-
254
- ### Legislação e Regulamentação
255
-
256
- - [Lei 13.709/2018 - LGPD](https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm) - Lei Geral de Proteção de Dados
257
- - [Guia ANPD - Cookies e Proteção de Dados](https://www.gov.br/anpd/pt-br/documentos-e-publicacoes/guia-orientativo-cookies-e-protecao-de-dados-pessoais.pdf) - Orientação oficial sobre cookies
258
- - [Regulamentação LGPD](https://www.gov.br/anpd/pt-br/assuntos/regulamentacao) - Regulamentos da ANPD
259
-
260
- ### Padrões Internacionais
261
-
262
- - [GDPR Recital 32](https://gdpr-info.eu/recitals/no-32/) - Consentimento no GDPR
263
- - [ePrivacy Directive](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32002L0058) - Diretiva sobre cookies
264
- - [ISO 27001](https://www.iso.org/isoiec-27001-information-security.html) - Segurança da informação
265
- - [WCAG 2.1 AAA](https://www.w3.org/WAI/WCAG21/quickref/) - Acessibilidade web
266
-
267
- ### Boas Práticas Técnicas
268
-
269
- - [RFC 6265 - HTTP State Management Mechanism](https://tools.ietf.org/html/rfc6265) - Especificação de cookies
270
- - [OWASP Cookie Security](https://owasp.org/www-community/controls/SecureCookieAttribute) - Segurança de cookies
271
- - [Privacy by Design](https://www.ipc.on.ca/wp-content/uploads/Resources/7foundationalprinciples.pdf) - Princípios de privacidade
272
-
273
- ## 📋 Documentação de Compliance
274
-
275
- ### Para Desenvolvedores
276
-
277
- - 📖 [README.md](./README.md) - Guia de uso e configuração
278
- - 🔧 [ORIENTACOES-DESENVOLVIMENTO.md](./docs/ORIENTACOES-DESENVOLVIMENTO.md) - Sistema de orientações
279
- - 🔄 [MIGRACAO-v0.2.2.md](./docs/MIGRACAO-v0.2.2.md) - Guia de migração
280
-
281
- ### Para Profissionais de Compliance
282
-
283
- - 🛡️ [CONFORMIDADE-LGPD.md](./docs/CONFORMIDADE-LGPD.md) - Guia detalhado de conformidade
284
- - 📊 [SUMARIO-v0.2.2.md](./docs/SUMARIO-v0.2.2.md) - Resumo executivo das funcionalidades
285
- - 📝 [CHANGELOG.md](./CHANGELOG.md) - Histórico de mudanças e compliance
286
-
287
- ### Para Auditoria e Prestação de Contas
288
-
289
- - 🏗️ [DEVELOPMENT.md](./DEVELOPMENT.md) - Arquitetura técnica e segurança
290
- - 📋 **Este arquivo** - Conformidade legal e técnica consolidada
291
-
292
- ## 🎯 Declaração de Conformidade
293
-
294
- ### v0.2.2 (Atual)
295
-
296
- A biblioteca **react-lgpd-consent v0.2.2** está em **conformidade com**:
297
-
298
- - ✅ **LGPD (Lei 13.709/2018)**: Artigos 6º (princípios), 7º (bases legais), 8º e 9º (consentimento)
299
- - ✅ **Guia ANPD sobre Cookies**: 6 categorias oficiais implementadas
300
- - ✅ **Princípio da Minimização**: Cookie contém apenas dados necessários ao projeto
301
- - ✅ **Transparência**: Sistema de orientações automáticas para desenvolvedores
302
- - ✅ **Acessibilidade**: WCAG 2.1 AA compatível (AAA em desenvolvimento)
303
- - ✅ **Segurança**: RFC 6265 + OWASP Cookie Security practices
304
-
305
- ### Limitações Conhecidas
306
-
307
- - ⚠️ **Server-Side Rendering**: Suporte limitado (melhorias planejadas v0.2.4+)
308
- - ⚠️ **Logs de auditoria**: Implementação client-side (servidor planejado v0.2.3)
309
- - ⚠️ **Templates setoriais**: Em desenvolvimento (v0.2.3)
310
-
311
- ### Responsabilidades
312
-
313
- - **Da biblioteca**: Fornecer ferramentas conformes e orientação adequada
314
- - **Do implementador**: Configurar adequadamente para o contexto específico do projeto
315
- - **Do controlador**: Manter política de privacidade atualizada e processos de compliance
316
-
317
- ---
318
-
319
- **Última atualização**: 12 de agosto de 2025
320
- **Versão analisada**: v0.2.2
321
- **Próxima revisão**: Lançamento v0.2.3
105
+ - **Armazenamento**: O consentimento é armazenado exclusivamente no cliente (`localStorage` ou `cookie`).
106
+ - **Minimização**: O cookie de consentimento contém apenas as preferências para as categorias ativas no projeto, a versão da configuração e os timestamps necessários para auditoria.
107
+ - **Sem Coleta de Dados Pessoais**: A biblioteca em si não coleta ou transmite dados pessoais.