react-lgpd-consent 0.2.1 → 0.2.2
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 +231 -87
- package/README.md +118 -20
- package/dist/{PreferencesModal-4WHKT67T.js → PreferencesModal-UL552BFP.js} +1 -1
- package/dist/{chunk-QCERRRSC.js → chunk-JAX63PBG.js} +276 -121
- package/dist/index.cjs +283 -116
- package/dist/index.d.cts +68 -7
- package/dist/index.d.ts +68 -7
- package/dist/index.js +9 -3
- package/package.json +1 -1
package/COMPLIANCE.md
CHANGED
|
@@ -1,68 +1,98 @@
|
|
|
1
|
-
# COMPLIANCE.md - react-lgpd-consent
|
|
1
|
+
# COMPLIANCE.md - react-lgpd-consent v0.2.2
|
|
2
2
|
|
|
3
3
|
## 📜 Objetivo
|
|
4
4
|
|
|
5
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.
|
|
6
6
|
|
|
7
|
-
## ✅ Conformidade Atual (
|
|
7
|
+
## ✅ Conformidade Atual (v0.2.2 - Sistema de Orientações)
|
|
8
8
|
|
|
9
|
-
### Implementado e Funcional
|
|
9
|
+
### 🛡️ Implementado e Funcional
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
#### **Consentimento e Transparência**
|
|
12
|
+
|
|
13
|
+
- ✅ **Consentimento granular**: 6 categorias ANPD + categorias customizadas
|
|
12
14
|
- ✅ **Sem pre-check**: cookies não essenciais desativados por padrão
|
|
13
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
|
|
18
|
+
|
|
19
|
+
#### **Interface de Usuário Conforme**
|
|
20
|
+
|
|
14
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
|
|
25
|
+
|
|
26
|
+
#### **Aspectos Técnicos**
|
|
27
|
+
|
|
15
28
|
- ✅ **Suporte SSR**: via prop `initialState` (evita flash)
|
|
16
29
|
- ✅ **Acessibilidade**: foco gerenciado, navegação por teclado, ARIA adequado
|
|
17
30
|
- ✅ **API estável**: identificadores em inglês, textos em pt-BR customizáveis
|
|
18
|
-
- ✅ **Segurança
|
|
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
|
|
19
33
|
|
|
20
|
-
|
|
34
|
+
#### **🚨 Orientação para Desenvolvedores (NOVO v0.2.2)**
|
|
21
35
|
|
|
22
|
-
|
|
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
|
|
23
40
|
|
|
24
|
-
|
|
41
|
+
## 🎯 Conformidade Específica LGPD/ANPD
|
|
25
42
|
|
|
26
|
-
|
|
43
|
+
### Artigo 7º LGPD - Bases Legais
|
|
27
44
|
|
|
28
|
-
-
|
|
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
|
|
29
48
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
### Artigo 9º LGPD - Consentimento
|
|
50
|
+
|
|
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
|
|
55
|
+
|
|
56
|
+
### Guia ANPD - Cookies e Proteção de Dados
|
|
57
|
+
|
|
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
|
|
62
|
+
|
|
63
|
+
### Princípios da LGPD
|
|
64
|
+
|
|
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
|
|
45
70
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
71
|
+
## 🚀 Roadmap de Desenvolvimento
|
|
72
|
+
|
|
73
|
+
## 🚀 Roadmap de Desenvolvimento
|
|
74
|
+
|
|
75
|
+
### ✅ v0.2.2 - Sistema de Orientações (IMPLEMENTADO)
|
|
50
76
|
|
|
51
|
-
|
|
77
|
+
**Foco**: Orientação inteligente para desenvolvedores, prevenção de problemas de compliance
|
|
52
78
|
|
|
53
|
-
|
|
54
|
-
- [ ] Cookie com `version` para migrações futuras
|
|
55
|
-
- [ ] Validação que ignora cookies malformados
|
|
56
|
-
- [ ] Documentação de segurança atualizada
|
|
57
|
-
- [ ] 100% backward compatible (sem breaking changes)
|
|
79
|
+
#### ✅ Implementado
|
|
58
80
|
|
|
59
|
-
|
|
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
|
|
60
88
|
|
|
61
|
-
|
|
89
|
+
### v0.2.3 - Compliance Avançado (Próxima Release)
|
|
90
|
+
|
|
91
|
+
**Foco**: Estruturas avançadas, transparência total, auditoria
|
|
62
92
|
|
|
63
93
|
#### 🏗️ Funcionalidades Principais
|
|
64
94
|
|
|
65
|
-
- [ ] **Modal detalhado de cookies**: Catálogo completo
|
|
95
|
+
- [ ] **Modal detalhado de cookies**: Catálogo completo com informações técnicas
|
|
66
96
|
|
|
67
97
|
```typescript
|
|
68
98
|
interface CookieDetails {
|
|
@@ -71,6 +101,7 @@ Este documento descreve as medidas de conformidade da biblioteca **react-lgpd-co
|
|
|
71
101
|
duration: string
|
|
72
102
|
thirdParty?: string
|
|
73
103
|
transferCountries?: string[]
|
|
104
|
+
lawfulBasis: 'consent' | 'legitimate_interest'
|
|
74
105
|
}
|
|
75
106
|
|
|
76
107
|
interface CookieRegistry {
|
|
@@ -78,100 +109,213 @@ Este documento descreve as medidas de conformidade da biblioteca **react-lgpd-co
|
|
|
78
109
|
description: string
|
|
79
110
|
cookies: CookieDetails[]
|
|
80
111
|
required: boolean
|
|
112
|
+
lawfulBasis: 'consent' | 'legitimate_interest'
|
|
81
113
|
}
|
|
82
114
|
}
|
|
83
115
|
```
|
|
84
116
|
|
|
85
|
-
- [ ] **Logs de consentimento**: Registro client-side
|
|
117
|
+
- [ ] **Logs de consentimento**: Registro client-side para auditoria
|
|
86
118
|
|
|
87
119
|
```typescript
|
|
88
120
|
interface ConsentLog {
|
|
89
121
|
timestamp: Date
|
|
90
|
-
action: 'given' | 'revoked' | 'modified'
|
|
122
|
+
action: 'given' | 'revoked' | 'modified' | 'configured'
|
|
91
123
|
categories: ConsentPreferences
|
|
92
124
|
userAgent: string
|
|
125
|
+
projectConfig: ProjectCategoriesConfig
|
|
93
126
|
}
|
|
94
127
|
```
|
|
95
128
|
|
|
96
|
-
- [ ] **
|
|
97
|
-
- [ ] **Callbacks expandidos**: Eventos de auditoria
|
|
129
|
+
- [ ] **Templates setoriais**: Configurações pré-definidas (governo, saúde, educação)
|
|
130
|
+
- [ ] **Callbacks expandidos**: Eventos de auditoria e compliance
|
|
98
131
|
|
|
99
|
-
### v0.4
|
|
132
|
+
### v0.2.4 - Auditoria e Relatórios
|
|
100
133
|
|
|
101
134
|
**Foco**: Ferramentas de compliance para DPO
|
|
102
135
|
|
|
103
136
|
#### 📊 Funcionalidades Avançadas
|
|
104
137
|
|
|
105
|
-
- [ ] **Relatórios de compliance**: `generateComplianceReport()`
|
|
106
|
-
- [ ] **
|
|
107
|
-
- [ ] **
|
|
108
|
-
- [ ] **
|
|
109
|
-
- [ ] **Assinatura de cookies**: Integridade opcional
|
|
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
|
|
110
143
|
|
|
111
144
|
## 🎯 Controle de Progresso
|
|
112
145
|
|
|
113
146
|
### Marcos de Entrega
|
|
114
147
|
|
|
115
|
-
#### v0.2.
|
|
148
|
+
#### ✅ v0.2.2 - Sistema de Orientações (COMPLETO)
|
|
116
149
|
|
|
117
|
-
- **
|
|
118
|
-
- **Status**:
|
|
119
|
-
- **
|
|
120
|
-
- **
|
|
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
|
|
121
154
|
|
|
122
|
-
#### v0.3
|
|
155
|
+
#### v0.2.3 - Compliance Avançado 📋
|
|
123
156
|
|
|
124
|
-
- **Target**: 6
|
|
157
|
+
- **Target**: 4-6 semanas
|
|
125
158
|
- **Status**: Planejamento
|
|
126
|
-
- **Dependências**: v0.2.
|
|
127
|
-
- **Próximos passos**: Design do `CookieRegistry`
|
|
159
|
+
- **Dependências**: Feedback de uso v0.2.2
|
|
160
|
+
- **Próximos passos**: Design do `CookieRegistry` e sistema de logs
|
|
128
161
|
|
|
129
|
-
#### v0.4
|
|
162
|
+
#### v0.2.4 - Ferramentas DPO 📊
|
|
130
163
|
|
|
131
|
-
- **Target**:
|
|
164
|
+
- **Target**: 8-10 semanas
|
|
132
165
|
- **Status**: Roadmap
|
|
133
|
-
- **Dependências**: v0.3
|
|
134
|
-
- **Próximos passos**: Pesquisa com
|
|
166
|
+
- **Dependências**: v0.2.3 + validação com DPOs
|
|
167
|
+
- **Próximos passos**: Pesquisa com profissionais de compliance
|
|
135
168
|
|
|
136
169
|
## 🔒 Segurança e Privacidade
|
|
137
170
|
|
|
138
|
-
### Implementado
|
|
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
|
|
139
179
|
|
|
140
|
-
|
|
141
|
-
- ✅ `SameSite=Lax`, `secure=true` em HTTPS
|
|
142
|
-
- ✅ Sem coleta antes do consentimento
|
|
143
|
-
- ✅ Validação básica de entrada
|
|
180
|
+
#### **Minimização de Dados (LGPD Art. 6º)**
|
|
144
181
|
|
|
145
|
-
|
|
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
|
|
146
186
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
-
|
|
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
|
|
150
207
|
|
|
151
208
|
## 📈 Métricas de Sucesso
|
|
152
209
|
|
|
153
|
-
###
|
|
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
|
|
154
217
|
|
|
155
|
-
|
|
156
|
-
- [ ] Cobertura de testes > 90%
|
|
157
|
-
- [ ] Lighthouse Accessibility = 100
|
|
158
|
-
- [ ] Bundle size < 50KB
|
|
218
|
+
### v0.2.3 - Compliance Avançado (META)
|
|
159
219
|
|
|
160
|
-
|
|
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
|
|
161
224
|
|
|
162
|
-
|
|
163
|
-
- [ ] Feedback de DPO/compliance
|
|
164
|
-
- [ ] Documentação de casos de uso
|
|
225
|
+
### v0.2.4 - Ferramentas DPO (META)
|
|
165
226
|
|
|
166
|
-
|
|
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
|
|
167
231
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
|
171
251
|
|
|
172
252
|
## 📚 Referências e Padrões
|
|
173
253
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
- [
|
|
177
|
-
- [
|
|
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
|
package/README.md
CHANGED
|
@@ -1,30 +1,41 @@
|
|
|
1
1
|
# react-lgpd-consent 🍪
|
|
2
2
|
|
|
3
|
-
[](
|
|
4
|
-
[](http### 🚨 Sistema de Orientações para Desenvolvedores (v0.2.2)
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
A v0.2.2 inclui sistema inteligente que **orienta developers sobre configuração adequada para compliance LGPD**:
|
|
6
|
+
|
|
7
|
+
- 🧠 **Console Automático**: Avisos e sugestões sobre configuração
|
|
8
|
+
- 🎯 **UI Dinâmica**: Componentes se adaptam à configuração do projeto
|
|
9
|
+
- 🛡️ **Compliance por Design**: Previne problemas de conformidade LGPD
|
|
10
|
+
- 🔧 **Hooks Avançados**: `useCategories()` e `useCategoryStatus()` para controle total
|
|
11
|
+
|
|
12
|
+
## 📖 Uso Básico - Configuração Consciente (v0.2.2)
|
|
13
|
+
|
|
14
|
+
### 1. Setup Básico (Compliance LGPD Automática)
|
|
7
15
|
|
|
8
16
|
````tsx
|
|
9
|
-
import { ConsentProvider } from 'react-lgpd-consent'
|
|
17
|
+
import { ConsentProvider, CookieBanner } from 'react-lgpd-consent'
|
|
10
18
|
|
|
11
19
|
function App() {
|
|
12
20
|
return (
|
|
13
21
|
<ConsentProvider
|
|
14
|
-
// 🛡️ Especificar apenas categorias necessárias (
|
|
22
|
+
// 🛡️ Especificar apenas categorias necessárias (Minimização de Dados LGPD)
|
|
15
23
|
categories={{
|
|
16
24
|
enabledCategories: ['analytics'], // Apenas analytics + necessary
|
|
17
25
|
}}
|
|
18
26
|
|
|
19
|
-
//
|
|
20
|
-
blocking={true}
|
|
21
|
-
|
|
22
|
-
// 📝 Textos específicos para compliance
|
|
27
|
+
// � Textos ANPD para compliance (opcionais)
|
|
23
28
|
texts={{
|
|
24
29
|
bannerMessage: "Utilizamos cookies conforme LGPD...",
|
|
25
|
-
controllerInfo: "
|
|
30
|
+
controllerInfo: "Controlado por: Empresa XYZ - CNPJ: 00.000.000/0001-00",
|
|
31
|
+
dataTypes: "Coletamos: dados de navegação para análise estatística",
|
|
32
|
+
userRights: "Direitos: acessar, corrigir, excluir dados (dpo@empresa.com)"
|
|
26
33
|
}}
|
|
34
|
+
|
|
35
|
+
// 🔔 Callbacks para auditoria (opcionais)
|
|
36
|
+
onConsentGiven={(state) => console.log('Consentimento registrado:', state)}
|
|
27
37
|
>
|
|
38
|
+
<CookieBanner policyLinkUrl="/politica-de-privacidade" />
|
|
28
39
|
<YourApp />
|
|
29
40
|
</ConsentProvider>
|
|
30
41
|
)
|
|
@@ -126,9 +137,40 @@ A biblioteca agora inclui **6 categorias** baseadas no Guia Orientativo da ANPD:
|
|
|
126
137
|
|
|
127
138
|
> 📋 **[Guia Completo de Conformidade LGPD](./docs/CONFORMIDADE-LGPD.md)**
|
|
128
139
|
|
|
129
|
-
###
|
|
140
|
+
### � Sistema de Orientações para Desenvolvedores
|
|
141
|
+
|
|
142
|
+
A v0.2.1 inclui sistema inteligente que **orienta developers sobre configuração adequada**:
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
// ⚠️ Sem configuração - usa padrão e avisa
|
|
146
|
+
<ConsentProvider>
|
|
147
|
+
<App />
|
|
148
|
+
</ConsentProvider>
|
|
149
|
+
// Console: "Usando padrão: necessary + analytics. Especificar para produção."
|
|
150
|
+
|
|
151
|
+
// ✅ Configuração explícita - recomendado
|
|
152
|
+
<ConsentProvider
|
|
153
|
+
categories={{
|
|
154
|
+
enabledCategories: ['analytics', 'marketing'],
|
|
155
|
+
customCategories: [...]
|
|
156
|
+
}}
|
|
157
|
+
>
|
|
158
|
+
<App />
|
|
159
|
+
</ConsentProvider>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Console de desenvolvimento** mostra automaticamente:
|
|
163
|
+
|
|
164
|
+
- 🟨 **Avisos**: Configuração faltante ou inconsistente
|
|
165
|
+
- 💡 **Sugestões**: Melhorias para compliance
|
|
166
|
+
- 🔧 **Tabela de categorias ativas**: Para UI customizada
|
|
167
|
+
|
|
168
|
+
> 📋 **[Sistema de Orientações Completo](./docs/ORIENTACOES-DESENVOLVIMENTO.md)**
|
|
169
|
+
|
|
170
|
+
### 🔧 Categorias Customizadas (API Legacy)
|
|
130
171
|
|
|
131
172
|
```tsx
|
|
173
|
+
// LEGACY: ainda suportado, mas deprecated
|
|
132
174
|
const customCategories = [
|
|
133
175
|
{
|
|
134
176
|
id: 'governo',
|
|
@@ -136,13 +178,6 @@ const customCategories = [
|
|
|
136
178
|
description: 'Cookies para integração com sistemas governamentais.',
|
|
137
179
|
essential: false,
|
|
138
180
|
cookies: ['gov_session', 'cpf_hash']
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
id: 'acessibilidade',
|
|
142
|
-
name: 'Acessibilidade',
|
|
143
|
-
description: 'Ferramentas para melhorar acessibilidade.',
|
|
144
|
-
essential: false,
|
|
145
|
-
cookies: ['userway_*', 'voice_*']
|
|
146
181
|
}
|
|
147
182
|
]
|
|
148
183
|
|
|
@@ -151,6 +186,60 @@ const customCategories = [
|
|
|
151
186
|
</ConsentProvider>
|
|
152
187
|
```
|
|
153
188
|
|
|
189
|
+
### 🎨 Componentes UI Dinâmicos (v0.2.2)
|
|
190
|
+
|
|
191
|
+
Os componentes agora **renderizam automaticamente** baseado na configuração:
|
|
192
|
+
|
|
193
|
+
```tsx
|
|
194
|
+
import { useCategories, useCategoryStatus } from 'react-lgpd-consent'
|
|
195
|
+
|
|
196
|
+
// ✅ Modal customizado que se adapta às categorias ativas
|
|
197
|
+
function CustomPreferencesModal() {
|
|
198
|
+
const { toggleableCategories } = useCategories()
|
|
199
|
+
const { preferences, setPreferences } = useConsent()
|
|
200
|
+
|
|
201
|
+
return (
|
|
202
|
+
<dialog>
|
|
203
|
+
{/* Renderiza APENAS categorias configuradas no projeto */}
|
|
204
|
+
{toggleableCategories.map((category) => (
|
|
205
|
+
<label key={category.id}>
|
|
206
|
+
<input
|
|
207
|
+
type="checkbox"
|
|
208
|
+
checked={preferences[category.id] ?? false} // ✅ Controlado
|
|
209
|
+
onChange={(e) =>
|
|
210
|
+
setPreferences({
|
|
211
|
+
...preferences,
|
|
212
|
+
[category.id]: e.target.checked,
|
|
213
|
+
})
|
|
214
|
+
}
|
|
215
|
+
/>
|
|
216
|
+
<strong>{category.name}</strong>
|
|
217
|
+
<p>{category.description}</p>
|
|
218
|
+
</label>
|
|
219
|
+
))}
|
|
220
|
+
</dialog>
|
|
221
|
+
)
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// ✅ Feature condicional baseada em configuração
|
|
225
|
+
function AnalyticsDashboard() {
|
|
226
|
+
const analytics = useCategoryStatus('analytics')
|
|
227
|
+
|
|
228
|
+
if (!analytics.isActive) {
|
|
229
|
+
return null // Categoria não configurada - não renderiza
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return <div>Dashboard só aparece se analytics estiver configurado!</div>
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Benefícios:**
|
|
237
|
+
|
|
238
|
+
- ✅ **Zero bugs**: UI sempre consistente com configuração
|
|
239
|
+
- ✅ **Performance**: Não renderiza categorias não utilizadas
|
|
240
|
+
- ✅ **Manutenibilidade**: Mudou configuração? UI atualiza automaticamente
|
|
241
|
+
- ✅ **Orientação**: Console avisa sobre inconsistências
|
|
242
|
+
|
|
154
243
|
### 🚀 Integrações Automáticas
|
|
155
244
|
|
|
156
245
|
```tsx
|
|
@@ -608,7 +697,16 @@ Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICE
|
|
|
608
697
|
|
|
609
698
|
## 🔮 Roadmap
|
|
610
699
|
|
|
611
|
-
### v0.2.
|
|
700
|
+
### ✅ v0.2.2 - Sistema de Orientações (Lançado!)
|
|
701
|
+
|
|
702
|
+
**Implementado: Sistema inteligente de orientação para desenvolvedores**
|
|
703
|
+
|
|
704
|
+
- ✅ **Console de Desenvolvimento**: Avisos automáticos e orientações
|
|
705
|
+
- ✅ **UI Dinâmica**: Componentes se adaptam à configuração do projeto
|
|
706
|
+
- ✅ **Hooks Avançados**: `useCategories()` e `useCategoryStatus()`
|
|
707
|
+
- ✅ **Validação Automática**: Prevenção de bugs de configuração vs UI
|
|
708
|
+
|
|
709
|
+
### v0.2.3 - Compliance Avançado (Próxima Release)
|
|
612
710
|
|
|
613
711
|
**Baseado em feedback de uso real em projetos governamentais:**
|
|
614
712
|
|
|
@@ -630,7 +728,7 @@ Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICE
|
|
|
630
728
|
- 🔄 **Sync Multi-Domínio**: Consentimento compartilhado
|
|
631
729
|
- 🛡️ **Segurança Empresarial**: Criptografia, audit logs remotos
|
|
632
730
|
|
|
633
|
-
|
|
731
|
+
> 📋 **Implementado na v0.2.2**: Sistema de orientações para developers e UI dinâmica
|
|
634
732
|
|
|
635
733
|
---
|
|
636
734
|
|