react-lgpd-consent 0.1.0 → 0.1.3
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 +177 -0
- package/README.md +1 -1
- package/package.json +4 -3
package/COMPLIANCE.md
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# COMPLIANCE.md - react-lgpd-consent
|
|
2
|
+
|
|
3
|
+
## 📜 Objetivo
|
|
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.
|
|
6
|
+
|
|
7
|
+
## ✅ Conformidade Atual (MVP v0.1.x)
|
|
8
|
+
|
|
9
|
+
### Implementado e Funcional
|
|
10
|
+
|
|
11
|
+
- ✅ **Consentimento granular**: categorias `analytics` e `marketing` independentes
|
|
12
|
+
- ✅ **Sem pre-check**: cookies não essenciais desativados por padrão
|
|
13
|
+
- ✅ **Revogação e reconfiguração**: funções `resetConsent()` e `openPreferences()`
|
|
14
|
+
- ✅ **Banner não intrusivo**: não bloqueia navegação do usuário
|
|
15
|
+
- ✅ **Suporte SSR**: via prop `initialState` (evita flash)
|
|
16
|
+
- ✅ **Acessibilidade**: foco gerenciado, navegação por teclado, ARIA adequado
|
|
17
|
+
- ✅ **API estável**: identificadores em inglês, textos em pt-BR customizáveis
|
|
18
|
+
- ✅ **Segurança básica**: `SameSite=Lax`, `secure=true`, validação de cookies
|
|
19
|
+
|
|
20
|
+
## 🚀 Roadmap de Desenvolvimento
|
|
21
|
+
|
|
22
|
+
### v0.2.0 - Adequação ANPD (Próxima Release)
|
|
23
|
+
|
|
24
|
+
**Foco**: Baixo atrito, 100% backward-compatible, adequação básica ANPD
|
|
25
|
+
|
|
26
|
+
#### ✅ Implementar (Pronto para MVP)
|
|
27
|
+
|
|
28
|
+
- [ ] **Textos ANPD expandidos**: Campos opcionais em `ConsentTexts`
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
interface ConsentTexts {
|
|
32
|
+
// Existentes (manter)
|
|
33
|
+
bannerMessage: string
|
|
34
|
+
acceptAll: string
|
|
35
|
+
declineAll: string
|
|
36
|
+
|
|
37
|
+
// NOVOS - opcionais
|
|
38
|
+
controllerInfo?: string // "Controlado por [Empresa/CNPJ]"
|
|
39
|
+
dataTypes?: string // "Coletamos dados de navegação..."
|
|
40
|
+
thirdPartySharing?: string // "Compartilhamos com terceiros..."
|
|
41
|
+
userRights?: string // "Seus direitos: acesso, correção..."
|
|
42
|
+
contactInfo?: string // "Contato: dpo@empresa.com"
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
- [ ] **Link de política visível**: Garantir `policyLinkUrl` destacado
|
|
47
|
+
- [ ] **Validação robusta de cookies**: Sanitização e versioning
|
|
48
|
+
- [ ] **Defaults de segurança**: Documentar configurações recomendadas
|
|
49
|
+
- [ ] **Testes de acessibilidade**: Validação com axe/Lighthouse
|
|
50
|
+
|
|
51
|
+
#### 📋 Critérios de Aceite v0.2.0
|
|
52
|
+
|
|
53
|
+
- [ ] Textos opcionais exibidos condicionalmente
|
|
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)
|
|
58
|
+
|
|
59
|
+
### v0.3.0 - Compliance Operacional
|
|
60
|
+
|
|
61
|
+
**Foco**: Estruturas avançadas, transparência total
|
|
62
|
+
|
|
63
|
+
#### 🏗️ Funcionalidades Principais
|
|
64
|
+
|
|
65
|
+
- [ ] **Modal detalhado de cookies**: Catálogo completo
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
interface CookieDetails {
|
|
69
|
+
name: string
|
|
70
|
+
purpose: string
|
|
71
|
+
duration: string
|
|
72
|
+
thirdParty?: string
|
|
73
|
+
transferCountries?: string[]
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface CookieRegistry {
|
|
77
|
+
[K in Category]: {
|
|
78
|
+
description: string
|
|
79
|
+
cookies: CookieDetails[]
|
|
80
|
+
required: boolean
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
- [ ] **Logs de consentimento**: Registro client-side
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
interface ConsentLog {
|
|
89
|
+
timestamp: Date
|
|
90
|
+
action: 'given' | 'revoked' | 'modified'
|
|
91
|
+
categories: ConsentPreferences
|
|
92
|
+
userAgent: string
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- [ ] **Base legal por categoria**: `consent` | `legitimate_interest`
|
|
97
|
+
- [ ] **Callbacks expandidos**: Eventos de auditoria
|
|
98
|
+
|
|
99
|
+
### v0.4.0 - Auditoria e Relatórios
|
|
100
|
+
|
|
101
|
+
**Foco**: Ferramentas de compliance para DPO
|
|
102
|
+
|
|
103
|
+
#### 📊 Funcionalidades Avançadas
|
|
104
|
+
|
|
105
|
+
- [ ] **Relatórios de compliance**: `generateComplianceReport()`
|
|
106
|
+
- [ ] **Templates por setor**: E-commerce, mídia, educação, etc.
|
|
107
|
+
- [ ] **Exportação para DPO**: Dados estruturados para auditoria
|
|
108
|
+
- [ ] **Categorias dinâmicas**: Configurável via props (opcional)
|
|
109
|
+
- [ ] **Assinatura de cookies**: Integridade opcional
|
|
110
|
+
|
|
111
|
+
## 🎯 Controle de Progresso
|
|
112
|
+
|
|
113
|
+
### Marcos de Entrega
|
|
114
|
+
|
|
115
|
+
#### v0.2.0 - MVP Completo ⏳
|
|
116
|
+
|
|
117
|
+
- **Target**: 2 semanas
|
|
118
|
+
- **Status**: Em desenvolvimento
|
|
119
|
+
- **Bloqueadores**: -
|
|
120
|
+
- **Próximos passos**: Expandir `ConsentTexts`
|
|
121
|
+
|
|
122
|
+
#### v0.3.0 - Compliance Avançado 📋
|
|
123
|
+
|
|
124
|
+
- **Target**: 6-8 semanas
|
|
125
|
+
- **Status**: Planejamento
|
|
126
|
+
- **Dependências**: v0.2.0 completa
|
|
127
|
+
- **Próximos passos**: Design do `CookieRegistry`
|
|
128
|
+
|
|
129
|
+
#### v0.4.0 - Ferramentas DPO 📊
|
|
130
|
+
|
|
131
|
+
- **Target**: 12 semanas
|
|
132
|
+
- **Status**: Roadmap
|
|
133
|
+
- **Dependências**: v0.3.0 + feedback de usuários
|
|
134
|
+
- **Próximos passos**: Pesquisa com DPOs
|
|
135
|
+
|
|
136
|
+
## 🔒 Segurança e Privacidade
|
|
137
|
+
|
|
138
|
+
### Implementado
|
|
139
|
+
|
|
140
|
+
- ✅ Armazenamento client-side via `js-cookie`
|
|
141
|
+
- ✅ `SameSite=Lax`, `secure=true` em HTTPS
|
|
142
|
+
- ✅ Sem coleta antes do consentimento
|
|
143
|
+
- ✅ Validação básica de entrada
|
|
144
|
+
|
|
145
|
+
### Planejado
|
|
146
|
+
|
|
147
|
+
- 🔄 **v0.2**: Sanitização robusta + versioning
|
|
148
|
+
- 🔄 **v0.3**: Logs estruturados
|
|
149
|
+
- 🔄 **v0.4**: Assinatura opcional de cookies
|
|
150
|
+
|
|
151
|
+
## 📈 Métricas de Sucesso
|
|
152
|
+
|
|
153
|
+
### MVP (v0.2.0)
|
|
154
|
+
|
|
155
|
+
- [ ] 0 breaking changes
|
|
156
|
+
- [ ] Cobertura de testes > 90%
|
|
157
|
+
- [ ] Lighthouse Accessibility = 100
|
|
158
|
+
- [ ] Bundle size < 50KB
|
|
159
|
+
|
|
160
|
+
### Adoção (v0.3.0)
|
|
161
|
+
|
|
162
|
+
- [ ] 5+ projetos usando em produção
|
|
163
|
+
- [ ] Feedback de DPO/compliance
|
|
164
|
+
- [ ] Documentação de casos de uso
|
|
165
|
+
|
|
166
|
+
### Maturidade (v0.4.0)
|
|
167
|
+
|
|
168
|
+
- [ ] Template de compliance por setor
|
|
169
|
+
- [ ] Integração com ferramentas de auditoria
|
|
170
|
+
- [ ] Casos de sucesso documentados
|
|
171
|
+
|
|
172
|
+
## 📚 Referências e Padrões
|
|
173
|
+
|
|
174
|
+
- [Lei 13.709/2018 - LGPD](https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm)
|
|
175
|
+
- [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)
|
|
176
|
+
- [GDPR Recital 32](https://gdpr-info.eu/recitals/no-32/) - Consentimento
|
|
177
|
+
- [ePrivacy Directive](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32002L0058) - Cookies
|
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# react-lgpd-consent 🍪
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/react-lgpd-consent)
|
|
4
|
-
[](
|
|
4
|
+
[](https://github.com/lucianoedipo/react-lgpd-consent/blob/main/LICENSE)
|
|
5
5
|
[](https://www.typescriptlang.org/)
|
|
6
6
|
[](https://reactjs.org/)
|
|
7
7
|
[](https://mui.com/)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-lgpd-consent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Biblioteca de consentimento de cookies (LGPD) para React e Next.js, com contexto, banner e modal personalizáveis usando MUI.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lgpd",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"exports": {
|
|
34
34
|
".": {
|
|
35
35
|
"types": "./dist/index.d.ts",
|
|
36
|
-
"import": "./dist/index.
|
|
36
|
+
"import": "./dist/index.js",
|
|
37
37
|
"require": "./dist/index.cjs"
|
|
38
38
|
},
|
|
39
39
|
"./package.json": "./package.json"
|
|
@@ -42,7 +42,8 @@
|
|
|
42
42
|
"files": [
|
|
43
43
|
"dist",
|
|
44
44
|
"README.md",
|
|
45
|
-
"LICENSE"
|
|
45
|
+
"LICENSE",
|
|
46
|
+
"COMPLIANCE.md"
|
|
46
47
|
],
|
|
47
48
|
"engines": {
|
|
48
49
|
"node": ">=18.18"
|