react-lgpd-consent 0.2.0 → 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 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 (MVP v0.1.x)
7
+ ## ✅ Conformidade Atual (v0.2.2 - Sistema de Orientações)
8
8
 
9
- ### Implementado e Funcional
9
+ ### 🛡️ Implementado e Funcional
10
10
 
11
- - **Consentimento granular**: categorias `analytics` e `marketing` independentes
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 básica**: `SameSite=Lax`, `secure=true`, validação de cookies
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
- ## 🚀 Roadmap de Desenvolvimento
34
+ #### **🚨 Orientação para Desenvolvedores (NOVO v0.2.2)**
21
35
 
22
- ### v0.2.0 - Adequação ANPD (Próxima Release)
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
- **Foco**: Baixo atrito, 100% backward-compatible, adequação básica ANPD
41
+ ## 🎯 Conformidade Específica LGPD/ANPD
25
42
 
26
- #### Implementar (Pronto para MVP)
43
+ ### Artigo LGPD - Bases Legais
27
44
 
28
- - [ ] **Textos ANPD expandidos**: Campos opcionais em `ConsentTexts`
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
- ```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
- ```
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
- - [ ] **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
71
+ ## 🚀 Roadmap de Desenvolvimento
72
+
73
+ ## 🚀 Roadmap de Desenvolvimento
74
+
75
+ ### ✅ v0.2.2 - Sistema de Orientações (IMPLEMENTADO)
50
76
 
51
- #### 📋 Critérios de Aceite v0.2.0
77
+ **Foco**: Orientação inteligente para desenvolvedores, prevenção de problemas de compliance
52
78
 
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)
79
+ #### Implementado
58
80
 
59
- ### v0.3.0 - Compliance Operacional
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
- **Foco**: Estruturas avançadas, transparência total
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
- - [ ] **Base legal por categoria**: `consent` | `legitimate_interest`
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.0 - Auditoria e Relatórios
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
- - [ ] **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
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.0 - MVP Completo
148
+ #### v0.2.2 - Sistema de Orientações (COMPLETO)
116
149
 
117
- - **Target**: 2 semanas
118
- - **Status**: Em desenvolvimento
119
- - **Bloqueadores**: -
120
- - **Próximos passos**: Expandir `ConsentTexts`
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.0 - Compliance Avançado 📋
155
+ #### v0.2.3 - Compliance Avançado 📋
123
156
 
124
- - **Target**: 6-8 semanas
157
+ - **Target**: 4-6 semanas
125
158
  - **Status**: Planejamento
126
- - **Dependências**: v0.2.0 completa
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.0 - Ferramentas DPO 📊
162
+ #### v0.2.4 - Ferramentas DPO 📊
130
163
 
131
- - **Target**: 12 semanas
164
+ - **Target**: 8-10 semanas
132
165
  - **Status**: Roadmap
133
- - **Dependências**: v0.3.0 + feedback de usuários
134
- - **Próximos passos**: Pesquisa com DPOs
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
- - 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
180
+ #### **Minimização de Dados (LGPD Art. 6º)**
144
181
 
145
- ### Planejado
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
- - 🔄 **v0.2**: Sanitização robusta + versioning
148
- - 🔄 **v0.3**: Logs estruturados
149
- - 🔄 **v0.4**: Assinatura opcional de cookies
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
- ### MVP (v0.2.0)
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
- - [ ] 0 breaking changes
156
- - [ ] Cobertura de testes > 90%
157
- - [ ] Lighthouse Accessibility = 100
158
- - [ ] Bundle size < 50KB
218
+ ### v0.2.3 - Compliance Avançado (META)
159
219
 
160
- ### Adoção (v0.3.0)
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
- - [ ] 5+ projetos usando em produção
163
- - [ ] Feedback de DPO/compliance
164
- - [ ] Documentação de casos de uso
225
+ ### v0.2.4 - Ferramentas DPO (META)
165
226
 
166
- ### Maturidade (v0.4.0)
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
- - [ ] Template de compliance por setor
169
- - [ ] Integração com ferramentas de auditoria
170
- - [ ] Casos de sucesso documentados
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
- - [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
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,12 +1,51 @@
1
1
  # react-lgpd-consent 🍪
2
2
 
3
- [![NPM Version](https://img.shields.io/npm/v/react-lgpd-consent?style=for-the-badge&color=blue)](https://www.npmjs.com/package/react-lgpd-consent)
4
- [![License](https://img.shields.io/npm/l/react-lgpd-consent?style=for-the-badge)](https://github.com/lucianoedipo/react-lgpd-consent/blob/main/LICENSE)
5
- [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue?style=for-the-badge&logo=typescript)](https://## 🔧 API Completa
3
+ [![NPM Version](https://img.shields.io/npm/v/react-lgpd-consent?style=for-the-badge&color=blue)](http### 🚨 Sistema de Orientações para Desenvolvedores (v0.2.2)
6
4
 
7
- > **📖 Documentação Detalhada**: [API v0.2.0](./docs/API-v0.2.0.md) | [API v0.1.x (Legacy)](./docs/API-0.1.x.md)
5
+ A v0.2.2 inclui sistema inteligente que **orienta developers sobre configuração adequada para compliance LGPD**:
8
6
 
9
- ### Components.typescriptlang.org/)
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)
15
+
16
+ ````tsx
17
+ import { ConsentProvider, CookieBanner } from 'react-lgpd-consent'
18
+
19
+ function App() {
20
+ return (
21
+ <ConsentProvider
22
+ // 🛡️ Especificar apenas categorias necessárias (Minimização de Dados LGPD)
23
+ categories={{
24
+ enabledCategories: ['analytics'], // Apenas analytics + necessary
25
+ }}
26
+
27
+ // � Textos ANPD para compliance (opcionais)
28
+ texts={{
29
+ bannerMessage: "Utilizamos cookies conforme LGPD...",
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)"
33
+ }}
34
+
35
+ // 🔔 Callbacks para auditoria (opcionais)
36
+ onConsentGiven={(state) => console.log('Consentimento registrado:', state)}
37
+ >
38
+ <CookieBanner policyLinkUrl="/politica-de-privacidade" />
39
+ <YourApp />
40
+ </ConsentProvider>
41
+ )
42
+ }
43
+ ```eact-lgpd-consent?style=for-the-badge)](https://github.com/lucianoedipo/react-lgpd-consent/blob/main/LICENSE)
44
+ [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)
45
+ [![React](https://img.shields.io/badge/React-18%2B-61DAFB?style=for-the-badge&logo=react)](https://reactjs.org/)
46
+ [![Material-UI](https://img.shields.io/badge/MUI-Ready-007FFF?style=for-the-badge&logo=mui)](https://mui.com/)
47
+ [![Bundle Size](https://img.shields.io/bundlephobia/minzip/react-lgpd-consent?style=for-the-badge&color=green)](https://bundlephobia.com/package/react-lgpd-consent)
48
+ [![Downloads](https://img.shields.io/npm/dm/react-lgpd-consent?style=for-the-badge&color=orange)](https://www.npmjs.com/package/react-lgpd-consent)
10
49
 
11
50
  [![React](https://img.shields.io/badge/React-18%2B-61DAFB?style=for-the-badge&logo=react)](https://reactjs.org/)
12
51
  [![Material-UI](https://img.shields.io/badge/MUI-Ready-007FFF?style=for-the-badge&logo=mui)](https://mui.com/)
@@ -17,16 +56,18 @@ Solução moderna, acessível e personalizável para gerenciar consentimento de
17
56
 
18
57
  ## ✨ Características Principais
19
58
 
20
- - 🇧🇷 **Conformidade LGPD + ANPD**: 6 categorias baseadas no Guia Orientativo da ANPD
21
- - 🍪 **Categorias Extensíveis**: Sistema dinâmico para categorias customizadas
59
+ - 🇧🇷 **Conformidade LGPD + ANPD**: Cookie otimizado conforme Guia Orientativo da ANPD
60
+ - 🍪 **Categorias Configuráveis**: Sistema dinâmico - apenas categorias necessárias ao projeto
61
+ - 🛡️ **Princípio da Minimização**: Cookie contém apenas dados essenciais para compliance
22
62
  - 🚀 **Integrações Nativas**: Google Analytics, Tag Manager, UserWay automatizados
63
+ - ⏰ **Auditoria Completa**: Timestamps e rastreabilidade para prestação de contas
23
64
  - ⚡ **Client-Side First**: Arquitetura otimizada para SPA com zero-flash
24
65
  - 🎨 **Material-UI Integration**: Componentes prontos e customizáveis com MUI
25
66
  - ♿ **Acessibilidade**: Navegação por teclado e leitores de tela nativamente suportados
26
67
  - 🌐 **Internacionalização**: Textos totalmente customizáveis (padrão pt-BR)
27
68
  - 🚀 **TypeScript**: API completamente tipada para melhor DX
28
69
  - 📦 **Zero Config**: Funciona out-of-the-box com configurações sensatas
29
- - 🎯 **Granular Control**: Controle individual de 6+ categorias de cookies
70
+ - 🎯 **Granular Control**: Controle individual por categoria ativa
30
71
  - 🚫 **Banner Bloqueante**: Modo opcional para exigir interação antes de continuar
31
72
  - 🎨 **Sistema de Temas**: Temas customizáveis para integração visual perfeita
32
73
  - ⚡ **Carregamento Automático**: Scripts só executam após consentimento explícito
@@ -41,7 +82,7 @@ npm install react-lgpd-consent
41
82
  yarn add react-lgpd-consent
42
83
  # ou
43
84
  pnpm add react-lgpd-consent
44
- ```
85
+ ````
45
86
 
46
87
  ### Dependências
47
88
 
@@ -62,9 +103,74 @@ A biblioteca agora inclui **6 categorias** baseadas no Guia Orientativo da ANPD:
62
103
  - **`social`**: Integração com redes sociais
63
104
  - **`personalization`**: Personalização de conteúdo
64
105
 
65
- ### 🔧 Categorias Customizadas
106
+ ### 🛡️ Conformidade LGPD Rigorosa (v0.2.1)
107
+
108
+ **Princípio da Minimização**: Cookie contém apenas categorias realmente utilizadas:
109
+
110
+ ```tsx
111
+ <ConsentProvider
112
+ categories={{
113
+ enabledCategories: ['analytics'], // Apenas analytics + necessary
114
+ customCategories: [{
115
+ id: 'governo',
116
+ name: 'Integração Governamental',
117
+ description: 'Cookies para sistemas gov.br',
118
+ essential: false
119
+ }]
120
+ }}
121
+ blocking={true} // Banner bloqueia até decisão explícita
122
+ >
123
+ ```
124
+
125
+ **Cookie resultante** (apenas dados essenciais):
126
+
127
+ ```json
128
+ {
129
+ "version": "1.0",
130
+ "consented": true,
131
+ "preferences": { "necessary": true, "analytics": false, "governo": true },
132
+ "consentDate": "2025-08-12T14:30:00.000Z",
133
+ "lastUpdate": "2025-08-12T14:30:00.000Z",
134
+ "source": "banner"
135
+ }
136
+ ```
137
+
138
+ > 📋 **[Guia Completo de Conformidade LGPD](./docs/CONFORMIDADE-LGPD.md)**
139
+
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)
66
171
 
67
172
  ```tsx
173
+ // LEGACY: ainda suportado, mas deprecated
68
174
  const customCategories = [
69
175
  {
70
176
  id: 'governo',
@@ -72,13 +178,6 @@ const customCategories = [
72
178
  description: 'Cookies para integração com sistemas governamentais.',
73
179
  essential: false,
74
180
  cookies: ['gov_session', 'cpf_hash']
75
- },
76
- {
77
- id: 'acessibilidade',
78
- name: 'Acessibilidade',
79
- description: 'Ferramentas para melhorar acessibilidade.',
80
- essential: false,
81
- cookies: ['userway_*', 'voice_*']
82
181
  }
83
182
  ]
84
183
 
@@ -87,6 +186,60 @@ const customCategories = [
87
186
  </ConsentProvider>
88
187
  ```
89
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
+
90
243
  ### 🚀 Integrações Automáticas
91
244
 
92
245
  ```tsx
@@ -544,7 +697,16 @@ Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICE
544
697
 
545
698
  ## 🔮 Roadmap
546
699
 
547
- ### v0.2.1 - Compliance Avançado (Próxima Release)
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)
548
710
 
549
711
  **Baseado em feedback de uso real em projetos governamentais:**
550
712
 
@@ -566,7 +728,7 @@ Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICE
566
728
  - 🔄 **Sync Multi-Domínio**: Consentimento compartilhado
567
729
  - 🛡️ **Segurança Empresarial**: Criptografia, audit logs remotos
568
730
 
569
- [📋 Ver plano detalhado v0.2.1](./docs/v0.2.1-PLAN.md)
731
+ > 📋 **Implementado na v0.2.2**: Sistema de orientações para developers e UI dinâmica
570
732
 
571
733
  ---
572
734