forked from marcialwushu/GDPR-Developer-Guide-ptBR
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
1061 lines (999 loc) · 121 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title>README</title>
<style type="text/css">code{white-space: pre;}</style>
<style type="text/css">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<style type="text/css">
body {
font-family: Helvetica, arial, sans-serif;
font-size: 14px;
line-height: 1.6;
padding-top: 10px;
padding-bottom: 10px;
background-color: white;
color: #333;
text-align: justify;
margin: auto;
}
* {
margin: 0;
padding: 0;
align-items: baseline;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
body > *:first-child {
margin-top: 0 !important;
}
body > *:last-child {
margin-bottom: 0 !important;
}
.line {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
}
.tableofcontent {
position:fixed;
width:25%;
height:100%;
}
.greyed{
color:#555;
}
#toc{
padding-right:30px;
padding-bottom: 50px;
text-align: left;
}
.level2{
font-size: 90%;
margin-top: 0px !important;
margin-bottom: 0px !important;
}
.level1{
margin-top: 15px !important;
}
@media all and (min-width: 1000px) {
.content{
margin-left: 25%;
padding:5%;
width:65%
}
}
@media all and (max-width: 1000px) {
.content{
padding:6%;
width:88%;
margin-left: 0%;
}
.tableofcontent {
display:none;
}
}
a {
color: #4183C4;
text-decoration: none;
}
a.absent {
color: #cc0000;
}
a.anchor {
display: block;
padding-left: 30px;
margin-left: -30px;
cursor: pointer;
position: absolute;
top: 0;
left: 0;
bottom: 0;
}
h1, h2, h3, h4, h5, h6 {
margin: 20px 0 10px;
padding: 0;
font-weight: bold;
-webkit-font-smoothing: antialiased;
cursor: text;
position: relative;
text-align: left;
}
h2:first-child, h1:first-child, h1:first-child + h2, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
margin-top: 0;
padding-top: 0;
}
h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
text-decoration: none;
}
h1 tt, h1 code {
font-size: inherit;
}
h2 tt, h2 code {
font-size: inherit;
}
h3 tt, h3 code {
font-size: inherit;
}
h4 tt, h4 code {
font-size: inherit;
}
h5 tt, h5 code {
font-size: inherit;
}
h6 tt, h6 code {
font-size: inherit;
}
h1 {
font-size: 2em;
color: black;
padding-top:50px;
}
h2 {
font-size: 1.7em;
border-bottom: 1px solid #cccccc;
color: black;
}
h3 {
font-size: 1.3px;
}
h4 {
font-size: 1.14em;
}
h5 {
font-size: 1em;
}
h6 {
color: #777777;
font-size: 1em;
}
p, blockquote, ul, ol, dl, li, table, pre {
margin: 15px 0;
}
hr {
border: 0 none;
color: #cccccc;
height: 4px;
padding: 0;
}
body > h2:first-child {
margin-top: 0;
padding-top: 0;
}
body > h1:first-child {
margin-top: 0;
padding-top: 0;
}
body > h1:first-child + h2 {
margin-top: 0;
padding-top: 0;
}
body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
margin-top: 0;
padding-top: 0;
}
a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
margin-top: 0;
padding-top: 0;
}
h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
margin-top: 0;
}
li p.first {
display: inline-block;
}
ul, ol {
padding-left: 30px;
}
ul :first-child, ol :first-child {
margin-top: 0;
}
ul :last-child, ol :last-child {
margin-bottom: 0;
}
blockquote {
border-left: 4px solid #dddddd;
padding: 0 15px;
color: #777777;
}
blockquote > :first-child {
margin-top: 0;
}
blockquote > :last-child {
margin-bottom: 0;
}
table {
padding: 0;
}
table tr {
border-top: 1px solid #cccccc;
background-color: white;
margin: 0;
padding: 0;
}
table tr:nth-child(2n) {
background-color: #f8f8f8;
}
table tr th {
font-weight: bold;
border: 1px solid #cccccc;
text-align: left;
margin: 0;
padding: 6px 13px;
}
table tr td {
border: 1px solid #cccccc;
text-align: left;
margin: 0;
padding: 6px 13px;
}
table tr th :first-child, table tr td :first-child {
margin-top: 0;
}
table tr th :last-child, table tr td :last-child {
margin-bottom: 0;
}
img {
max-width: 100%;
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
TableOfContents();
}
);
function TableOfContents(container, output) {
var toc = "";
var level = 0;
var container = document.querySelector(container) || document.querySelector('#contents');
var output = output || '#toc';
//Inspiration from here: https://stackoverflow.com/questions/187619/is-there-a-javascript-solution-to-generating-a-table-of-contents-for-a-page
container.innerHTML = container.innerHTML.replace(/<h([\d]) id=".*">([^<]+)?<\/h([\d])>/gi, function (str, openLevel, titleText, closeLevel) {
console.log(str,openLevel)
if (openLevel != closeLevel || openLevel>2) {
return str;
}
if (openLevel > level) {
toc += (new Array(openLevel - level + 1)).join('<ul>');
} else if (openLevel < level) {
toc += (new Array(level - openLevel + 1)).join('</li></ul>');
} else {
toc += (new Array(level+ 1)).join('</li>');
}
level = parseInt(openLevel);
var anchor = titleText.replace(/ /g, "_");
if(level ==2){
toc += '<li class="level'+level+'"><a class="greyed" href="#' + anchor + '">' + titleText
+ '</a>';
}else{
toc += '<li class="level'+level+'"><a href="#' + anchor + '">' + titleText
+ '</a>';
}
return '<h' + openLevel + '><a href="#' + anchor + '" id="' + anchor + '">'
+ titleText + '</a></h' + closeLevel + '>';
}
);
if (level) {
toc += (new Array(level + 1)).join('</ul>');
}
document.querySelector(output).innerHTML += toc;
};
</script>
</head>
<body>
<div class="line">
<div class="tableofcontent">
<div style="overflow-y: scroll; height: 100%;">
<div id="toc">
</div>
</div>
</div>
<div id="contents" class="content">
<p align="center">
<img src="https://github.com/LINCnil/GDPR-Developer-Guide/raw/master/templates/BANNIERE-EN.JPG" width="100%" align="middle">
</p>
<h1 id="gdpr-developer-guide-ptbr">GDPR Developer Guide ptBR</h1>
<h4 id="para-ajudar-os-desenvolvedores-da-web-e-de-aplicativos-a-tornar-seu-trabalho-compatível-com-o-gdpr-a-cnil-elaborou-um-novo-guia-de-boas-práticas-sob-uma-licença-de-código-aberto-que-deve-ser-enriquecida-por-profissionais.">Para ajudar os desenvolvedores da Web e de aplicativos a tornar seu trabalho compatível com o GDPR, a CNIL elaborou um novo guia de boas práticas sob uma licença de código aberto, que deve ser enriquecida por profissionais.</h4>
<p>Este guia é publicado sob <a href="https://www.gnu.org/licenses/gpl-3.0.html">licença GPLv3</a> e sob a <a href="https://www.etalab.gouv.fr/wp-content/uploads/2017/04/ETALAB-Licence-Ouverte-v2.0.pdf">open license 2.0</a> (explicitamente compatível com <a href="https://creativecommons.org/licenses/by/4.0/deed.fr">CC-BY 4.0 FR</a>). Você pode contribuir livremente para sua redação..</p>
<p>A <a href="https://github.com/LINCnil/Guide-RGPD-du-developpeur">versão Francesa</a> é a versão autêntica deste guia.</p>
<h4 id="este-guia-é-apenas-para-desenvolvedores">Este guia é apenas para desenvolvedores?</h4>
<p>Este guia é voltado principalmente para desenvolvedores que trabalham sozinhos ou em equipes, líderes de equipe, provedores de serviços, mas também para qualquer pessoa interessada no desenvolvimento de aplicativos ou web.</p>
<p>Ele fornece conselhos e melhores práticas e, portanto, fornece chaves úteis para entender o GDPR para cada parte interessada, independentemente do tamanho de sua estrutura. Também pode estimular discussões e práticas nas organizações e nos relacionamentos com os clientes.</p>
<h4 id="o-que-contém-o-guia">O que contém o guia?</h4>
<p>Este guia está dividido em <strong>16 folhas temáticas</strong>, que cobrem a maioria das necessidades dos desenvolvedores em cada estágio do projeto, desde a preparação do desenvolvimento até o uso de analytics.</p>
<p>O Regulamento Geral de Proteção de Dados (ou RGPD) especifica que a proteção dos direitos e liberdades das pessoas singulares exige que <strong>“sejam tomadas as medidas técnicas e organizacionais adequadas para garantir o cumprimento dos requisitos do presente regulamento”</strong> (considerando 78) .</p>
<p>A determinação dessas medidas está necessariamente <strong>relacionada ao contexto das operações de processamento implementadas</strong>, e o responsável pelo tratamento (a entidade pública ou privada que processa dados pessoais) deve, portanto, garantir a segurança dos dados que é chamado a processar .</p>
<p>As boas práticas deste guia <strong>,portanto, não se destinam a cobrir todos os requisitos dos regulamentos nem a serem prescritivas</strong>, elas fornecem um primeiro nível de medidas para levar em conta os problemas de proteção da privacidade nos desenvolvimentos de TI que se destinam a serem aplicados a todos os projetos de processamento de dados. Dependendo da natureza do processamento realizado em certos casos, medidas adicionais deverão ser implementadas para cumprir totalmente os regulamentos.</p>
<h2 id="índice">Índice</h2>
<ol start="0" type="1">
<li><p><a href="#Sheet_n°0_:_Desenvolva_em_conformidade_com_o_GDPR">Desenvolva em conformidade com o GDPR</a></p></li>
<li><p><a href="#Sheet_n°1_:_Identify_personal_data">Identificar dados pessoais</a></p></li>
<li><p><a href="#Sheet_n°2_:_Prepare_your_development">Prepare seu desenvolvimento</a></p></li>
<li><p><a href="#Sheet_n°3_:_Protegendo_seu_ambiente_de_desenvolvimento">Protegendo seu ambiente de desenvolvimento</a></p></li>
<li><p><a href="#Sheet_n°4_:_Manage_your_source_code">Gerenciar seu código fonte</a></p></li>
<li><p><a href="#Sheet_n°5_:_Make_an_informed_choice_of_architecture">Faça uma escolha informada da arquitetura</a></p></li>
<li><p><a href="#Sheet_n°6_:_Protegendo_seus_sites,_applications_and_servers">Protegendo seus sites, aplicativos e servidores</a></p></li>
<li><p><a href="#Sheet_n°7_:_Minimize_data_collection">Minimizar a coleta de dados</a></p></li>
<li><p><a href="#Sheet_n°8_:_Manage_users_profiles">Gerenciar perfis de usuário</a></p></li>
<li><p><a href="#Sheet_n°09_:_Control_your_libraries_and_SDKs">Controle suas bibliotecas e SDKs</a></p></li>
<li><p><a href="#Planilha_n°10_:_Garanta_qualidade_do_documento_e_documentação">Garanta a qualidade do código e sua documentação</a></p></li>
<li><p><a href="#Sheet_n°11_:_Test_your_applications">Teste seus aplicativos</a></p></li>
<li><p><a href="#Sheet_n°12_:_Inform_users">Informar usuários</a></p></li>
<li><p><a href="#Sheet_n°13_:_Prepare_for_the_exercise_of_people_rights">Prepare-se para exercer os direitos das pessoas</a></p></li>
<li><p><a href="#Sheet_n°14_:_Define_a_data_retention_period">Definir um período de retenção de dados</a></p></li>
<li><p><a href="#Sheet_n°15_:_Take_into_account_the_legal_bases_in_the_technical_implementation">Leve em consideração a base jurídica da implementação técnica</a></p></li>
<li><p><a href="#Sheet_n°16:_Use_analytics_on_your_websites_and_applications">Use analytics em seus sites e aplicativos</a></p></li>
</ol>
<h2 id="como-posso-contribuir-para-este-guia">Como posso contribuir para este guia?</h2>
<p><strong>Este guia está disponível em duas versões</strong>:</p>
<ul>
<li>Uma <a href="http://www.cnil.fr/en/rgpd-developers-guide">versão da web no site da CNIL</a> e no guia <a href="https://github.com/LINCnil/GDPR-Developer-Guide/releases">the “Releases” tab</a> deste repositório;</li>
<li>Esta <a href="https://github.com/marcialwushu/GDPR-Developer-Guide-ptBR">versão do GitHub</a>, que oferece a possibilidade de todos contribuírem</li>
</ul>
<p><strong>A contribuição é feita em algumas etapas</strong>:</p>
<ul>
<li>Registre-se no Github;</li>
<li>Vá para a página do projeto;</li>
<li>Você pode:
<ul>
<li>Use uma “Issue” para abrir comentários ou participar da discussão</li>
<li>Use a opção “Fork” para fazer suas próprias modificações e propor sua inclusão através do botão “Pull Requests”.</li>
</ul></li>
</ul>
<p><strong>Sua proposta de contribuição será examinada pelo autor deste projeto antes da publicação</strong>. A versão web do guia do desenvolvedor do RGPD será atualizada regularmente.</p>
<h2 id="uso">Uso</h2>
<p>Para liberar esse repositório, você pode usar a ferramenta <strong>Pandoc</strong>. Essa ferramenta permitirá converter os registros em um arquivo docx ou documento HTML.</p>
<p>Você pode encontrar as instruções para instalar esta ferramenta <a href="https://pandoc.org/installing.html">aqui</a></p>
<ul>
<li><strong>To generate a .docx file</strong>:</li>
</ul>
<div class="sourceCode" id="cb1"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1"></a><span class="ex">pandoc</span> -s --toc --toc-depth=1 -o Guide_RGPD_developper.docx [0-9][0-9]*.md</span></code></pre></div>
<ul>
<li><strong>To generate an .html file</strong>:</li>
</ul>
<div class="sourceCode" id="cb2"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1"></a><span class="ex">pandoc</span> -s --template=<span class="st">"templates/mytemplate.html"</span> -H templates/pandoc.css -o index.html README.md [0-9][0-9]*.md</span></code></pre></div>
<h1 id="sheet-n-0-desenvolva-em-conformidade-com-o-gdpr">Sheet n° 0: Desenvolva em conformidade com o GDPR</h1>
<p><strong>Se você trabalha sozinho, faz parte de uma equipe que desenvolve um projeto, gerencia uma equipe de desenvolvimento ou é um provedor de serviços que desenvolve desenvolvimentos para terceiros, é essencial garantir que os dados do usuário e todo o processamento de dados pessoais sejam suficientemente protegidos durante todo o ciclo de vida do projeto.</strong></p>
<p>As etapas a seguir ajudarão você a desenvolver aplicativos ou sites amigáveis à privacidade:</p>
<ol type="1">
<li><strong>Esteja ciente dos princípios fundamentais do GDPR</strong>. Se você trabalha em equipe, recomendamos que você identifique uma pessoa responsável por monitorar a conformidade. Se sua empresa possui um DPO (Data Protection Officer), essa pessoa é um ativo essencial para <a href="https://www.cnil.fr/sites/default/files/atoms/files/guidelines_on_dpos_5_april_2017.pdf">entender e cumprir as obrigações do GDPR</a>. A nomeação de um DPO também pode ser obrigatória em alguns casos, por exemplo, se seus programas ou aplicativos processam os chamados dados “sensíveis” (veja exemplos) em larga escala ou realizam monitoramento regular e sistemático em larga escala.</li>
<li><strong>Mapeie e categorize os dados e o processamento em seu sistema</strong>. O mapeamento preciso do processamento de dados realizado por seu programa ou aplicativo ajudará você a garantir que eles cumpram os requisitos legais. Manter um <a href="https://www.cnil.fr/en/record-processing-activities">registro das atividades de processamento</a> (um exemplo pode ser encontrado no <a href="https://www.cnil.fr/sites/default/files/atoms/files/record-processing-activities.ods">site da CNIL</a>) permite ter uma visão geral desses dados e identificar e priorizar os riscos associados. De fato, os dados pessoais podem estar presentes em locais inesperados, como em logs do servidor, arquivos de cache, arquivos do Excel etc., e podem ser armazenados em vários locais diferentes. Essa manutenção de registros é obrigatória na maioria dos casos</li>
<li><strong>Priorize as ações necessárias</strong>. Com base no registro do processamento de dados, identifique as ações necessárias para cumprir as obrigações do GDPR antes do desenvolvimento e priorize os pontos de atenção com relação aos riscos que o processamento acarreta para os titulares dos dados. Esses pontos de atenção referem-se, em particular, à necessidade e aos tipos de dados coletados e processados pelo seu software, a base legal na qual suas operações de processamento de dados se baseiam, <a href="#Sheet_n°12:_Informam_usuários">as informações mencionam</a> do seu software ou aplicação, as cláusulas contratuais que o vinculam aos seus contratados, os termos e condições para o exercício dos direitos, as medidas implementadas para proteger seu processamento.</li>
</ol>
<h1 id="sheet-n1-identificar-dados-pessoais">Sheet n°1: Identificar dados pessoais</h1>
<h4 id="compreender-as-noções-de-dados-pessoais-finalidade-e-processamento-é-essencial-para-garantir-que-o-software-cumpra-a-lei-ao-processar-dados-do-usuário.-em-particular-tome-cuidado-para-não-confundir-anonimização-e-pseudonimização-que-têm-definições-muito-precisas-e-diferentes-no-rgpd.">Compreender as noções de “dados pessoais”, “finalidade” e “processamento” é essencial para garantir que o software cumpra a lei ao processar dados do usuário. Em particular, tome cuidado para não confundir “anonimização” e “pseudonimização”, que têm definições muito precisas e diferentes no RGPD.</h4>
<h2 id="definição">Definição</h2>
<ul>
<li><p>A noção de <strong>dados pessoais</strong> é definida no <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32016R0679">Regulamento Geral de Proteção de Dados</a> (GDPR ) como “<a href="https://www.cnil.fr/en/personal-data-definition">qualquer informação relativa a uma pessoa singular identificada ou identificável (referida como" titular dos dados ")</a>”. Abrange um amplo escopo que inclui dados de identificação direta (por exemplo, nome e sobrenome) e dados de identificação indireta (por exemplo, número de telefone, placa do veículo, identificador de terminal etc.).</p></li>
<li><p>Qualquer operação neste tipo de dados (coleta, gravação, transmissão, modificação, disseminação etc.) constitui <strong>processamento na acepção do GDPR</strong> e, portanto, deve atender aos requisitos estabelecidos por esse regulamento. Tais operações de processamento devem ser legais e ter um objetivo especificado. Os dados pessoais coletados e processados devem ser relevantes e limitados ao estritamente necessário para alcançar o objetivo.</p></li>
</ul>
<h2 id="exemplos-de-dados-pessoais">Exemplos de dados pessoais</h2>
<ul>
<li><p>No que se refere a pessoas singulares, <strong>os seguintes dados são dados pessoais</strong>:</p>
<ul>
<li>Sobrenome, nome, pseudônimo, data de nascimento;</li>
<li>fotos, gravações sonoras de vozes;</li>
<li>número de telefone fixo ou móvel, endereço postal, endereço de e-mail;</li>
<li>Endereço IP, identificador de conexão do computador ou identificador de cookie;</li>
<li>Impressão digital, palma ou rede venosa da mão, impressão da retina;</li>
<li>Número da placa, número do seguro social, número de identificação;</li>
<li>Dados de uso do aplicativo, comentários, etc …</li>
</ul></li>
<li><p><strong>A identificação de pessoas singulares pode ser realizada</strong>:</p>
<ul>
<li>a partir de um único dado (exemplos: sobrenome e nome);</li>
<li>a partir do cruzamento de um conjunto de dados (exemplo: uma mulher que vive em tal e qual endereço, nascida em tal e tal dia e membro de tal e tal associação).</li>
</ul></li>
<li><p>Alguns dados são considerados <strong>particularmente sensíveis</strong>. O GDPR proíbe a coleta ou o uso de tais dados, a menos que, em particular, todos os titulares de dados envolvidos tenham dado seu consentimento expresso (consentimento ativo, explícito e de preferência por escrito, que deve ser gratuito, específico e informado).</p></li>
<li><p>Esses requisitos dizem respeito aos seguintes dados:</p>
<ul>
<li>dados relativos à <strong>saúde dos indivíduos</strong>;</li>
<li>dados sobre <strong>vida sexual</strong> ou <strong>orientação sexual</strong>;</li>
<li>dados revelando uma suposta origem racial ou étnica;</li>
<li>opiniões políticas, crenças religiosas, crenças filosóficas ou filiação sindical;</li>
<li><strong>dados genéticos</strong> e <strong>biométricos utilizados com a finalidade de identificar exclusivamente um indivíduo</strong>.</li>
</ul></li>
</ul>
<h2 id="anonimização-de-dados-pessoais">Anonimização de dados pessoais</h2>
<ul>
<li><p>Um <strong>processo de anonimização de dados pessoais</strong> visa impossibilitar a identificação de indivíduos nos conjuntos de dados. É, portanto, um processo irreversível. Quando essa anonimização é efetiva, os dados não são mais considerados dados pessoais e os requisitos do GDPR não são mais aplicáveis.</p></li>
<li><p>Por padrão, recomendamos que você nunca <strong>considere conjuntos de dados brutos como anônimos</strong>. A anonimização resulta do processamento de dados pessoais para impedir irreversivelmente a identificação, seja por:</p>
<ul>
<li><em>singling out</em>: não é possível isolar alguns ou todos os registros que identificam um indivíduo no conjunto de dados;</li>
<li><em>linkability</em>: o conjunto de dados não permite vincular dois ou mais registros referentes ao mesmo assunto ou a um grupo de dados;</li>
<li><em>inference</em>: não é possível inferir, com probabilidade significativa, o valor de um atributo a partir dos valores de um conjunto de outros atributos.</li>
</ul></li>
<li><p>Essas operações de processamento de dados implicam na maioria dos casos <strong>perda de qualidade no conjunto de dados produzido</strong>. O grupo de trabalho do artigo 29.º (artigo 29.º do WP) <a href="https://ec.europa.eu/justice/article-29/documentation/opinion-recommendation/files/2014/wp216_en.pdf">parecer sobre técnicas de anonimização</a> descreve o principais técnicas de anonimização usadas atualmente, bem como exemplos de conjuntos de dados considerados erroneamente anônimos. É importante observar que as técnicas de anonimização têm deficiências. A escolha entre anonimizar ou não os dados e a escolha de uma técnica de anonimização deve ser feita caso a caso, de acordo com os diferentes contextos de uso (natureza dos dados, utilidade dos dados, riscos para as pessoas etc.).</p></li>
</ul>
<h2 id="pseudonimização-de-dados-pessoais">Pseudonimização de dados pessoais</h2>
<ul>
<li><p><strong>A pseudonimização é um compromisso entre reter dados brutos e produzir conjuntos de dados anonimizados</strong>.</p></li>
<li><p>Refere-se ao processamento de dados pessoais de forma que <strong>os dados relativos a uma pessoa natural não possam mais ser atribuídos sem informações adicionais</strong>. O GDPR insiste que essas informações adicionais devem ser mantidas separadamente e estar sujeitas a medidas técnicas e organizacionais para evitar a re-identificação dos titulares dos dados. Diferentemente da anonimização, a pseudonimização pode ser um processo reversível.</p></li>
<li><p>Na prática, um processo de pseudonimização consiste em <strong>substituir diretamente os dados de identificação (sobrenome, nome próprio etc.) em um conjunto de dados por dados de identificação indireta</strong> (alias, número em um sistema de arquivamento etc.) para reduzir sua sensibilidade. Eles podem resultar de um hash criptográfico dos dados de indivíduos, como endereço IP, ID do usuário e endereço de email.</p></li>
<li><p>Os dados resultantes da pseudonimização são considerados <strong>dados pessoais e, portanto, permanecem sujeitos às obrigações do DPMR</strong>. No entanto, o Regulamento Europeu incentiva o uso de pseudonimização no processamento de dados pessoais. Além disso, o RGPD considera que a pseudonimização permite reduzir os riscos para os titulares de dados e contribuir para o cumprimento do regulamento.</p></li>
</ul>
<h1 id="sheet-n2-prepare-seu-desenvolvimento">Sheet n°2: Prepare seu desenvolvimento</h1>
<h4 id="os-princípios-de-proteção-de-dados-pessoais-devem-ser-integrados-aos-desenvolvimentos-de-ti-a-partir-da-fase-de-design-a-fim-de-proteger-a-privacidade-das-pessoas-cujos-dados-você-processará-para-proporcionar-melhor-controle-sobre-os-dados-e-limitar-erros.-perdas-modificações-não-autorizadas-ou-uso-indevido-de-seus-dados-em-aplicativos.">Os princípios de proteção de dados pessoais devem ser integrados aos desenvolvimentos de TI a partir da fase de design, a fim de proteger a privacidade das pessoas cujos dados você processará, para proporcionar melhor controle sobre os dados e limitar erros. , perdas, modificações não autorizadas ou uso indevido de seus dados em aplicativos.</h4>
<h2 id="escolhas-metodológicas">Escolhas metodológicas</h2>
<ul>
<li><p><strong>Coloque a proteção da privacidade no centro de seus desenvolvimentos</strong> adotando um <a href="https://edpb.europa.eu/our-work-tools/public-consultations-art-704/2019/guidelines%20-42019-article-25-data-protection-design_en">Privacy By Design</a>.</p></li>
<li><p>Se você usar métodos ágeis para seus desenvolvimentos, considere <strong>integrar a segurança no centro do seu processo</strong>. O ANSSI disponibilizou um guia <a href="https://www.ssi.gouv.fr/uploads/2018/11/guide-securite-numerique-agile-anssi-pa-v1.pdf">“segurança digital e agilidade”</a> (somente em francês), que indica como conduzir seus desenvolvimentos na estrutura de um método ágil, levando em consideração os aspectos de segurança. Não hesite em se inspirar nisso.</p></li>
<li><p>Para qualquer desenvolvimento destinado ao público em geral, <strong>considere as configurações de privacidade</strong> e, em particular, as configurações padrão, como as características e o conteúdo do usuário visíveis por padrão.</p></li>
<li><p><strong>Realize uma <a href="https://www.cnil.fr/en/privacy-impact-assessment-pia">Avaliação de impacto na privacidade (PIA)</a></strong>. Para <a href="https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/accountability-and-governance%20/%20avaliação%20de%20impacto%20de%20proteção%20de%20dados%20/">certas operações de processamento</a> é obrigatório. Noutros casos, é uma boa prática que lhe permitirá identificar e lidar com todos os riscos a montante dos seus desenvolvimentos. A CNIL possui uma seção especial em seu site e fornece um <a href="https://www.cnil.fr/en/open-source-pia-software-helps-carry-out-data-protection-impact-assment">software livre</a> dedicado a esse tipo de análise.</p></li>
</ul>
<h2 id="escolhas-tecnológicas">Escolhas tecnológicas</h2>
<h4 id="arquitetura-e-recursos">Arquitetura e recursos</h4>
<ul>
<li><p><strong>Inclua proteção de privacidade, incluindo requisitos de segurança de dados, no estágio de design do aplicativo ou serviço</strong>. Esses requisitos devem influenciar as <a href="#Sheet_n°5:_Fazer_um_início_da_informática_de_arquitetura">opções de arquitetura</a> (por exemplo, descentralizada vs. centralizada) ou na funcionalidade (por exemplo, anonimização a curto prazo, minimização de dados). As configurações padrão do aplicativo devem atender aos requisitos mínimos de segurança e cumprir a lei. Por exemplo, a complexidade padrão das senhas deve cumprir pelo menos a <a href="https://www.cnil.fr/fr/node/23803">recomendação CNIL sobre senhas</a>.</p></li>
<li><p><strong>Mantenha o controle do seu sistema</strong>. É importante manter o controle do seu sistema, tanto para garantir a operação adequada quanto para garantir um alto nível de segurança. Manter um sistema simples permite entender com precisão como ele funciona e identificar seus pontos fracos. Se uma certa complexidade for necessária, é aconselhável começar com um sistema simples, corretamente projetado e seguro. Em seguida, é possível aumentar a complexidade pouco a pouco, enquanto continua protegendo os novos recursos adicionados.</p></li>
<li><p><strong>Não confie em uma única linha de defesa</strong>. Apesar de todas as etapas adotadas para projetar um sistema seguro, pode acontecer que alguns componentes adicionados posteriormente possam não ser suficientemente seguros. Para minimizar o risco para os usuários finais, é aconselhável defender o sistema em profundidade. Por exemplo, verificar os dados inseridos em um formulário online faz parte das defesas da periferia. Se essa defesa for invadida, a proteção de consultas ao banco de dados poderá assumir o controle.</p></li>
</ul>
<h4 id="ferramentas-e-práticas">Ferramentas e práticas</h4>
<ul>
<li><p><strong>Use padrões de programação que levem em conta a segurança</strong>. Muitas vezes, já estão disponíveis listas de padrões, práticas recomendadas ou guias de codificação para melhorar a segurança de seus desenvolvimentos. As ferramentas auxiliares também podem ser integradas aos seus ambientes de desenvolvimento integrados (“<strong>IDE</strong>”) para verificar automaticamente se seu código está em conformidade com as várias regras que fazem parte desses padrões ou boas práticas. Você pode encontrar facilmente listas de boas práticas para sua linguagem de programação favorita na Internet. Por exemplo <a href="https://wiki.sei.cmu.edu/confluence/display/seccode/SEI+CERT+Coding+Standards">aqui</a> para C, C ++ ou Java. Para o desenvolvimento de aplicativos da Web, existem guias específicos de boas práticas, como os publicados pela <a href="https://www.owasp.org">OWASP</a>.</p></li>
<li><p><strong>As opções tecnológicas são críticas.</strong> Alguns parâmetros precisam ser levados em consideração:</p>
<ul>
<li>Dependendo do campo de aplicação ou funcionalidade desenvolvida, uma linguagem ou tecnologia pode ser mais apropriado que outra.</li>
<li>Linguagens e tecnologias testadas pelo tempo são mais seguras. Em geral, eles foram auditados para corrigir as vulnerabilidades mais conhecidas. No entanto, você deve ter cuidado ao usar as versões mais recentes de cada um dos componentes básicos da tecnologia que você usará.</li>
<li>Você deve evitar codificar sua solução final em uma linguagem que você acabou de aprender e que ainda não domina. Caso contrário, você se expõe a um risco aumentado de falha de segurança devido à falta de experiência.</li>
</ul></li>
<li><p><strong>Configure um ambiente de desenvolvimento seguro que permita a versão do código</strong>, seguindo a <a href="#Sheet_n°3:_Secure_your_development_environment">dedicada sheet</a> neste guia.</p></li>
</ul>
<h1 id="sheet-n3-protegendo-seu-ambiente-de-desenvolvimento">Sheet n°3: Protegendo seu ambiente de desenvolvimento</h1>
<h4 id="a-segurança-dos-servidores-de-produção-desenvolvimento-e-integração-contínua-bem-como-as-estações-de-trabalho-do-desenvolvedor-devem-ser-uma-prioridade-pois-centralizam-o-acesso-a-uma-grande-quantidade-de-dados.">A segurança dos servidores de produção, desenvolvimento e integração contínua, bem como as estações de trabalho do desenvolvedor, devem ser uma prioridade, pois centralizam o acesso a uma grande quantidade de dados.</h4>
<h2 id="avalie-seus-riscos-e-adote-as-medidas-de-segurança-apropriadas">Avalie seus riscos e adote as medidas de segurança apropriadas</h2>
<ul>
<li><p><strong>Avalie os riscos</strong> nas ferramentas e processos usados para seus desenvolvimentos. Faça um inventário de suas medidas de segurança existentes e defina um plano de ação para melhorar sua cobertura de riscos. Nomeie uma pessoa responsável por sua implementação.</p></li>
<li><p>Considere os riscos de todas as ferramentas usadas, incluindo os riscos relacionados ao SaaS (Software como Serviço) e ferramentas colaborativas na nuvem (como <a href="https://slack.com">Slack</a>, <a href="https:%20//trello.com">Trello</a>, <a href="https://github.com">GitHub</a> etc.).</p></li>
</ul>
<h2 id="proteja-seus-servidores-e-estações-de-trabalho-de-maneira-homogênea-e-reproduzível">Proteja seus servidores e estações de trabalho de maneira homogênea e reproduzível</h2>
<ul>
<li><p>As listas de <strong>recomendações</strong> relativas à segurança de servidores, estações de trabalho e redes internas estão disponíveis nas <a href="https://www.cnil.fr/sites/default/files/atoms/files%20/cnil_guide_securite_personnelle_gb_web.pdf">sheets n ° 5 a 8</a> do <strong>guia de segurança de dados pessoais</strong> do CNIL.</p></li>
<li><p>Escreva um <strong>documento listando essas medidas e explicando sua configuração</strong> para garantir que as medidas de segurança sejam implementadas uniformemente em servidores e estações de trabalho. Para reduzir a carga de trabalho, <strong>ferramentas de gerenciamento de configuração</strong>, como <a href="https://github.com/ansible/ansible">Ansible</a>, <a href="https://github.com/puppetlabs/puppet">Puppet</a> ou <a href="https://github.com/chef/chef">Chef</a>, pode ser usado.</p></li>
<li><p>Atualize servidores e estações de trabalho, se possível automaticamente. Você pode configurar uma lista de observação das vulnerabilidades mais importantes, por exemplo, os <a href="https://nvd.nist.gov/vuln/data-feeds">NVD Data Feeds</a>.</p></li>
</ul>
<h2 id="ênfase-especial-no-gerenciamento-de-acesso-e-na-rastreabilidade-das-operações">Ênfase especial no gerenciamento de acesso e na rastreabilidade das operações</h2>
<ul>
<li><p>Lembre-se de documentar o gerenciamento de suas <strong>chaves SSH</strong> (uso de criptografia de última geração e algoritmos de comprimento de chave, proteção de chaves privadas com uma senha, rotação de chaves). Para exemplos de boas práticas, consulte <a href="https://www.ssi.gouv.fr/uploads/2014/01/NT_OpenSSH_en.pdf">o documento sobre o uso seguro do SSH (aberto)</a>.</p></li>
<li><p>Incentive uma autenticação forte nos serviços usados pela equipe de desenvolvimento.</p></li>
<li><p><strong>Rastreie</strong> o acesso às suas máquinas e, se possível, implemente <strong>análise de log automatizada</strong>. Para manter rastreamentos confiáveis, o uso de contas genéricas deve ser evitado.</p></li>
</ul>
<h1 id="sheet-n4-gerenciar-seu-código-fonte">Sheet n°4: Gerenciar seu código fonte</h1>
<h4 id="qualquer-que-seja-o-tamanho-do-seu-projeto-é-altamente-recomendável-usar-uma-ferramenta-de-gerenciamento-de-código-fonte-como-um-sistema-de-controle-de-versão-para-rastrear-suas-diferentes-versões-ao-longo-do-tempo.">Qualquer que seja o tamanho do seu projeto, é altamente recomendável usar uma ferramenta de gerenciamento de código fonte, como um * sistema de controle de versão *, para rastrear suas diferentes versões ao longo do tempo.</h4>
<p>Configure seu sistema de controle de versão com eficiência, pensando em sua segurança.</p>
<ul>
<li><p>Um sistema de controle de versão é um programa de software que permite armazenar <strong>todo o seu código-fonte e arquivos associados</strong>, mantendo a <strong>cronologia de todas as alterações</strong> que foram feitas. Um servidor FTP simples não é um sistema de controle de versão.</p></li>
<li><p>Configure seu ambiente corretamente usando os recursos oferecidos pelo seu sistema de controle de versão. É recomendável que você implemente forte <strong>autenticação</strong> e / ou <strong>autenticação com chaves SSH</strong> no início do seu projeto.</p></li>
<li><p>Além disso, atribua <em>níveis de acesso</em> ao seu projeto aos usuários do seu sistema de controle de versão e defina para cada nível as <strong>permissões</strong> correspondentes (por exemplo, um nível “convidado” com direitos de leitura limitados, um “desenvolvedor” "nível com direitos de gravação etc.).</p></li>
<li><p>Faça <strong>backups</strong> regulares do seu sistema de gerenciamento de código-fonte. Lembre-se de fazer backup do servidor principal, onde todas as alterações são salvas.</p></li>
<li><p>Estabeleça procedimentos de desenvolvimento para trabalhar com eficiência, mesmo que <strong>várias pessoas estejam desenvolvendo ao mesmo tempo</strong>. Por exemplo, você pode decidir não trabalhar na mesma ramificação (<em>master</em>), mas configurar ramificações baseadas em recursos, que serão mescladas na ramificação principal à medida que o desenvolvimento avança. Tais estratégias de desenvolvimento já estão bem documentadas, por exemplo, em <a href="https://nvie.com/posts/a-successful-git-branching-model/">Git Flow</a>. Além disso, alguns sistemas de controle de versão oferecem a configuração de <strong>ramificações protegidas</strong> que impedem alterações não autorizadas nos arquivos nessas ramificações.</p></li>
</ul>
<h2 id="esteja-ciente-do-seu-conteúdo-de-código-fonte.">Esteja ciente do seu conteúdo de código-fonte.</h2>
<ul>
<li><p>Implemente <strong>ferramentas de métricas de qualidade de código</strong> que varrerão seu código assim que for <em>commitido</em> para verificar sua boa qualidade. Você também pode adicionar scripts para verificar essas métricas na <a href="https://git-scm.com/book/uz/v2/Customizing-Git-Git-Hooks">configuração do sistema de controle de versão</a>: o <em>commit</em> será cancelado se o o código fonte não é de qualidade suficiente.</p></li>
<li><p>Mantenha seus segredos e senhas fora do seu repositório de código-fonte:</p>
<ul>
<li>em arquivos <strong>separados, que não foram <em>comprometidos </em></strong>. Lembre-se de usar arquivos especiais do seu sistema de controle de versão (como <em>.gitignore</em> para <em>Git</em>) para que você não confirme arquivos confidenciais por engano.</li>
<li>em <strong>variáveis de ambiente</strong>, verifique se as variáveis de ambiente não são gravadas acidentalmente em <em>logs</em> ou exibidas quando ocorre um erro de aplicativo.</li>
<li>usando <a href="https://www.digitalocean.com/community/tutorials/an-introduction-to-managing-secrets-safely-with-version-control-systems#using-configuration-management-systems-for-secret-management"><strong>software específico de gerenciamento de secrets ou configuração</strong></a>.</li>
</ul></li>
</ul>
<p>Finalmente, se você precisar incluir esses dados em seu repositório, considere <strong>criptografar/descriptografar automaticamente</strong> os arquivos usando um <em>plugin</em> do seu sistema de controle de versão (por exemplo, <a href="https://github.com/AGWA/git-crypt"><em>git-crypt</em></a>).</p>
<ul>
<li><p>Após um <em>commit</em> que contém dados pessoais ou outros dados críticos, não se esqueça de <a href="https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History">limpar</a> <a href="https://help.github.com/en/github/authenticating-to-github/removing-sensitive-data-from-a-repository#purging-a-file-from-your-repositorys-history">completamente</a> o repositório do código-fonte: mesmo após a modificação, os dados ainda podem estar disponíveis no histórico do seu repositório.</p></li>
<li><p>Tenha cuidado antes de <strong>publicar seu código fonte online</strong>. Revise <strong>todo o seu conteúdo</strong> para garantir que não haja dados pessoais, senhas ou outros segredos, incluindo todo o histórico de alterações.</p></li>
</ul>
<h2 id="exemplos-de-ferramentas">Exemplos de ferramentas</h2>
<ul>
<li><p>Diferente de ferramentas como <a href="https://subversion.apache.org/">Subversion</a>, que precisam de um servidor central para serem executadas, os principais sistemas de controle de versão (<a href="https://git-scm.com/">Git</a> , <a href="https://www.mercurial-scm.org/">Mercurial</a> por exemplo) são <strong>descentralizados</strong>.</p></li>
<li><p>Para a maioria dessas ferramentas, é fornecida uma <strong>interface da web e ferramentas relacionadas</strong> (gerenciamento de bugs, wiki para sua documentação etc.). Essas soluções podem ser acessíveis via Internet (<a href="https://github.com/">GitHub</a>, <a href="https://bitbucket.org/">Bitbucket</a> etc.) ou podem ser integradas à sua própria conta. servidores.</p></li>
</ul>
<h1 id="sheet-n5-faça-uma-escolha-informada-da-arquitetura">Sheet n°5: Faça uma escolha informada da arquitetura</h1>
<h4 id="ao-projetar-a-arquitetura-do-seu-aplicativo-você-deve-identificar-os-dados-pessoais-que-serão-coletados-e-definir-um-caminho-e-um-ciclo-de-vida-para-cada-um-deles.-a-escolha-dos-ativos-de-suporte-armazenamento-local-servidor-serviço-em-nuvem-é-uma-etapa-crucial-que-deve-ser-adaptada-às-suas-necessidades-mas-também-ao-seu-conhecimento-técnico.-o-registro-e-a-realização-de-uma-avaliação-de-impacto-na-privacidade-podem-ajudá-lo-nessa-escolha.">Ao projetar a arquitetura do seu aplicativo, você deve identificar os dados pessoais que serão coletados e definir um caminho e um ciclo de vida para cada um deles. A escolha dos ativos de suporte (armazenamento local, servidor, serviço em nuvem) é uma etapa crucial, que deve ser adaptada às suas necessidades, mas também ao seu conhecimento técnico. O registro e a realização de uma avaliação de impacto na privacidade podem ajudá-lo nessa escolha.</h4>
<h2 id="examinando-o-ciclo-de-vida-de-dados-e-processos-da-coleta-à-eliminação">Examinando o ciclo de vida de dados e processos, da coleta à eliminação</h2>
<ul>
<li><p>Represente e descreva como o produto geralmente funciona antes de iniciar seu projeto, com um diagrama de fluxos de dados e uma descrição detalhada dos processos realizados.</p></li>
<li><p>Quando os dados são apenas ** armazenados no terminal do usuário ** (armazenamento local) ou permanecem ** confinados nas redes de comunicação sob o controle do usuário ** (por exemplo, Wi-Fi ou outra rede local), o principal ponto de atenção é segurança de dados. A duração pela qual os dados são armazenados e a exclusão real deve ser determinada pelos indivíduos.</p></li>
<li><p><strong>Quando os dados passam por serviços online</strong>, a opção de hospedar os dados você mesmo ou usar um provedor de serviços deve ser feita de acordo com o seu conhecimento de segurança e a qualidade esperada do serviço. Ofertas de nuvem reconhecidas podem oferecer níveis mais altos de segurança. No entanto, eles geram novos riscos que precisam ser dominados. <a href="https://www.cnil.fr/sites/default/files/typo/document/Recommendations_for_companies_planning_to_use_Cloud_computing_services.pdf">Recomendações para empresas que planejam usar serviços de computação em nuvem</a> podem orientar nesta etapa de seleção.</p></li>
</ul>
<h2 id="no-caso-de-uso-de-hospedagem-externa">No caso de uso de hospedagem externa</h2>
<ul>
<li><p><strong>Escolha um provedor de serviços que garanta medidas adequadas de segurança e confidencialidade e seja suficientemente transparente</strong>.</p></li>
<li><p><strong>Verifique a localização geográfica dos servidores que hospedarão seus dados</strong>. Pode ser necessário transferir dados para fora da União Europeia (UE) e do Espaço Econômico Europeu (EEE). Embora os dados possam circular livremente na UE/EEE, são possíveis transferências para fora da UE/EEE, desde que seja garantido um nível suficiente e adequado de proteção de dados. O CNIL fornece um mapa no local mostrando os <a href="https://www.cnil.fr/en/data-protection-around-the-world">diferentes níveis de proteção de dados em países do mundo</a>.</p></li>
<li><p><strong>Se você precisar hospedar dados de saúde</strong>, verifique se o provedor usado é <a href="https://esante.gouv.fr/labels-certifications/hds/liste-des-herbergeurs-certifies">certificado</a> ou <a href="https://esante.gouv.fr/labels-certifications/hds/liste-des-herbergeurs-agrees">aprovado</a> para esta atividade.</p></li>
<li><p>Outros pontos a serem considerados incluem:</p>
<ul>
<li>a existência de uma política de segurança acessível;</li>
<li>segurança física e medidas de segurança no site de hospedagem;</li>
<li>criptografia de dados e outros processos para garantir que o provedor não tenha acesso aos dados que lhe são confiados;</li>
<li>gerenciamento de atualizações, gerenciamento de autorizações, autenticação de pessoal e segurança do desenvolvimento de aplicativos;</li>
<li>a fácil reversibilidade/portabilidade dos dados em um formato estruturado e comumente usado, mediante solicitação e a qualquer momento.</li>
</ul></li>
</ul>
<h1 id="sheet-n6-protegendo-seus-sites-aplicativos-e-servidores">Sheet n°6: Protegendo seus sites, aplicativos e servidores</h1>
<h4 id="qualquer-site-aplicativo-ou-servidor-deve-incorporar-regras-básicas-de-segurança-de-ponta-não-apenas-nas-comunicações-em-rede-mas-também-na-autenticação-e-infraestrutura.">Qualquer site, aplicativo ou servidor deve incorporar regras básicas de segurança de ponta, não apenas nas comunicações em rede, mas também na autenticação e infraestrutura.</h4>
<h2 id="protegendo-redes-de-comunicação">Protegendo redes de comunicação</h2>
<ul>
<li><p><strong>Implemente o TLS versão 1.2 ou 1.3</strong> (substituindo SSL) em todos os sites e para transmissão de dados de seus aplicativos móveis, por exemplo, com <a href="https://letsencrypt.org/fr/">LetsEncrypt</a>, usando apenas os versões recentes e verificação de sua correta implementação.</p></li>
<li><p><strong>Torne obrigatório o uso do TLS</strong> para todas as páginas do seu site e para seus aplicativos móveis.</p></li>
<li><p><strong>Limite as portas de comunicação</strong> estritamente necessárias para o bom funcionamento dos aplicativos instalados. Se o acesso a um servidor Web for possível apenas usando o protocolo HTTPS, apenas as portas 443 e 80 deste servidor deverão estar acessíveis, todas as outras portas poderão ser bloqueadas pelo firewall.</p></li>
<li><p><strong>A OWASP publicou em seu site algumas dicas</strong> por exemplo, para <a href="https://cheatsheetseries.owasp.org/cheatsheets/Transport_Layer_Protection_Cheat_Sheet.html">implementar corretamente o TLS</a> ou para <a href="https://cheatsheetseries.owasp.org/cheatsheets/Web_Service_Security_Cheat_Sheet.html">proteger um serviço da web</a>.</p></li>
</ul>
<h2 id="protegendo-autenticações">Protegendo autenticações</h2>
<ul>
<li><p><strong>Siga <a href="https://www.cnil.fr/fr/node/23803">a recomendação da CNIL sobre senhas</a></strong>. Lembre-se de limitar o número de tentativas de acesso.</p></li>
<li><p><strong>Nunca armazene senhas em texto não criptografado</strong>. Armazene-os como um hash usando uma biblioteca comprovada, como <a href="https://en.wikipedia.org/wiki/Bcrypt">bcrypt</a>.</p></li>
<li><p><strong>Se forem utilizados cookies para autenticação</strong>, é recomendável:</p>
<ul>
<li><p>para forçar o uso de HTTPS via <a href="https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security">HSTS</a>;</p></li>
<li><p>para usar a flag <code>secure</code>;</p></li>
<li><p>use a flag <code>HttpOnly</code>.</p></li>
</ul></li>
<li><p><strong>Teste os conjuntos criptográficos instalados nos sistemas</strong> e desative os obsoletos (RC4, MD4, MD5 etc.). Incentive o uso do AES256. <a href="https://owasp.org/www-project-cheat-sheets/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html">Leia a nota do OSWAP sobre o assunto</a>.</p></li>
<li><p><strong>Adote uma política de senha específica para administradores</strong>. Altere as senhas, pelo menos, sempre que um administrador sair e em caso de suspeita de violação. Incentive a autenticação forte quando possível.</p></li>
<li><p><strong>Limite o acesso a ferramentas e interfaces de administração a equipe qualificada.</strong> Incentive o uso de contas com privilégios mais baixos nas operações diárias.</p></li>
<li><p><strong>O acesso remoto às interfaces de administração deve estar sujeito a maiores medidas de segurança.</strong> Por exemplo, para servidores internos, a implementação de uma VPN com autenticação forte do usuário e da estação de trabalho que ele está usando pode ser uma boa solução.</p></li>
</ul>
<h2 id="protegendo-infraestruturas">Protegendo infraestruturas</h2>
<ul>
<li><p><strong>Faça backups, se possível, criptografados e verificados regularmente</strong>. Isso é especialmente útil no caso de um ataque de ransomware nos seus sistemas, pois ter backups para todos os seus sistemas será a única medida que permitirá restaurar seus sistemas.</p></li>
<li><p><strong>Limite o tamanho da pilha de software usada,</strong> e para cada elemento da pilha:</p>
<ul>
<li><strong>Instale atualizações críticas</strong> sem demora, agendando uma verificação semanal automática;</li>
<li><strong>Automatize uma verificação de vulnerabilidades</strong>, assinando o <a href="https://nvd.nist.gov/vuln/data-feeds">NVD Data Feeds</a>, por exemplo.</li>
</ul></li>
<li><p><strong>Use ferramentas de detecção de vulnerabilidade</strong> para os processos mais críticos para detectar possíveis violações de segurança. Sistemas para detectar e prevenir ataques a sistemas ou servidores críticos também podem ser usados. Esses testes devem ser realizados regularmente e antes que qualquer nova versão de software seja colocada em produção.</p></li>
<li><p><strong>Restrinja ou proíba o acesso físico e de software às portas de diagnóstico e configuração remota.</strong> Por exemplo, você pode listar todas as portas abertas usando a ferramenta * netstat *.</p></li>
<li><p><strong>Proteja os bancos de dados que você disponibiliza na Internet</strong>, pelo menos restringindo o acesso o máximo possível (por exemplo, por filtragem de IP) e alterando a senha padrão da conta de administrador.</p></li>
<li><p>Em termos de gerenciamento de banco de dados, boas práticas incluem:</p>
<ul>
<li><strong>usando contas nominativas</strong> para acesso ao banco de dados e crie contas específicas para cada aplicativo;</li>
<li><strong>revogando os privilégios administrativos</strong> das contas de usuário ou aplicativo para evitar modificações na estrutura do banco de dados (tabela, valores, processo, etc);</li>
<li>ter proteção contra ataques de injeção de SQL ou script;</li>
<li>encorajamento em repouso e criptografia de disco e banco de dados.</li>
</ul></li>
</ul>
<h1 id="sheet-n7-minimizar-a-coleta-de-dados">Sheet n°7: Minimizar a coleta de dados</h1>
<h4 id="você-só-deve-coletar-dados-pessoais-adequados-relevantes-e-necessários-em-relação-aos-propósitos-para-os-quais-são-processados-conforme-definido-no-momento-da-coleta.">Você só deve coletar dados pessoais adequados, relevantes e necessários em relação aos propósitos para os quais são processados, conforme definido no momento da coleta.</h4>
<h2 id="antes-da-coleta-pense-nos-diferentes-tipos-de-dados-que-você-precisa-coletar-e-tente-limitar-sua-coleção-ao-estritamente-necessário.">Antes da coleta, pense nos diferentes tipos de dados que você precisa coletar e tente limitar sua coleção ao estritamente necessário.</h2>
<ul>
<li><p>Pense nos diferentes <strong>tipos de dados</strong> que precisarão ser coletados antes da implementação de um aplicativo e <strong>documente</strong> esse pensamento.</p></li>
<li><p>Se dados específicos não forem necessários para uma determinada categoria de pessoas, não os colete.</p></li>
<li><p>Processe e armazene dados de uma maneira que <strong>reduz a precisão</strong> (semelhante à pseudonimização). Por exemplo, armazene apenas o ano de nascimento, em vez de uma data de nascimento completa, se o aplicativo precisar apenas do ano.</p></li>
<li><p>Se estiver coletando dados particularmente sensíveis, como dados de saúde ou condenações criminais, certifique-se de coletar apenas o <strong>mínimo necessário</strong>. Devido às restrições regulatórias, a solução mais simples ainda é <strong>não coletá-las</strong> se você puder ficar sem elas.</p></li>
<li><p>Minimize a quantidade de dados coletados também nos <strong>dados de log</strong> e não armazene dados sensíveis ou críticos (dados de saúde, senhas, etc.).</p></li>
<li><p>Alguns recursos podem melhorar a experiência do usuário, mas <strong>não são estritamente necessários para que seu aplicativo funcione corretamente</strong> (por exemplo, geolocalização para simplificar uma pesquisa geográfica). Nesse caso, o usuário final deve poder <strong>escolher se deve ou não usar</strong> essa funcionalidade. Se ele usá-lo, os dados que você é levado a coletar para sua operação devem ser mantidos apenas pelo tempo estritamente necessário para sua operação e nunca devem ser usados para outros fins.</p></li>
<li><p>Lembre-se de associar <strong>períodos de retenção</strong> para cada categoria de dados, dependendo da finalidade do processamento e das obrigações legais ou regulamentares relacionadas à sua retenção. Os logs também devem ter um período de retenção. Documente as durações de retenção definidas. Você precisará justificá-los.</p></li>
</ul>
<h2 id="depois-que-os-dados-forem-coletados-configure-mecanismos-de-exclusão-automática.">Depois que os dados forem coletados, configure mecanismos de exclusão automática.</h2>
<ul>
<li><p>Implemente um sistema automático de <strong>purge</strong> no final do prazo de validade. Você também pode implementar revisões manuais dos dados armazenados periodicamente.</p></li>
<li><p>Para garantir uma eliminação completa, apague <strong>fisicamente</strong> todos os dados que não são mais necessários usando ferramentas especializadas ou destruindo a mídia física.</p></li>
<li><p>Se os dados ainda forem úteis, você poderá reduzir sua sensibilidade usando os métodos <strong>pseudomização</strong> ou mesmo <strong>anonimização</strong>. Em caso de pseudonimização, esses dados permanecem sujeitos às regulamentações de dados pessoais (consulte <a href="#Sheet_n°1_:_Identify_personal_data">Folha 1</a>).</p></li>
<li><p>Registre os <strong>procedimentos de exclusão automática</strong>. Os logs correspondentes podem ser usados como uma <strong>prova de exclusão</strong> de um item de dados.</p></li>
</ul>
<h1 id="sheet-n8-gerenciar-perfis-de-usuário">Sheet n°8: Gerenciar perfis de usuário</h1>
<h4 id="a-maneira-de-gerenciar-perfis-de-seus-colaboradores-e-usuários-finais-deve-ser-pensada-antes-dos-seus-desenvolvimentos.-consiste-em-definir-diferentes-perfis-de-acesso-e-autorização-para-que-cada-pessoa-possa-acessar-apenas-os-dados-de-que-realmente-precisa.">A maneira de gerenciar perfis de seus colaboradores e usuários finais deve ser pensada antes dos seus desenvolvimentos. Consiste em definir diferentes perfis de acesso e autorização para que cada pessoa possa acessar apenas os dados de que realmente precisa.</h4>
<h2 id="boas-práticas-para-gerenciamento-de-usuários">Boas práticas para gerenciamento de usuários</h2>
<ul>
<li><p>Tudo começa com o <strong>uso de identificadores únicos e individuais</strong>, sejam eles usuários de seu aplicativo ou colaboradores no desenvolvimento.</p></li>
<li><p>Certifique-se de <strong>impor autenticação</strong> antes de qualquer acesso aos dados pessoais, de acordo com as <a href="https://www.cnil.fr/en/passwords-minimum-security-recommendations-businesses-%20e%20cidadãos">recomendações da CNIL</a>.</p></li>
<li><p>Para garantir que cada pessoa (usuário ou colaborador) possa acessar apenas <strong>dados de que ele realmente precisa</strong>, seu sistema deve fornecer <strong>políticas diferenciadas de gerenciamento de acesso a dados</strong> (ler, gravar, excluir etc.) de acordo com para pessoas e necessidades. Um mecanismo global de gerenciamento de perfil de usuário permitirá agrupar direitos diferentes de acordo com uma função exercida por um grupo de usuários no aplicativo.</p></li>
<li><p>O gerenciamento de perfis de usuário pode ser usado juntamente com <strong>sistemas de registro para rastrear atividades e detectar anomalias ou eventos relacionados à segurança</strong>, como acesso fraudulento e uso indevido de dados pessoais. Esses dispositivos não devem ser utilizados para nenhuma outra finalidade que não seja garantir o uso adequado do sistema de computador. Os logs também não devem ser mantidos por mais tempo que o necessário. Em geral, um período de seis meses é adequado.</p></li>
<li><p>Você também pode planejar auditorias de código ou testes de penetração em seu ambiente de desenvolvimento para <strong>garantir a robustez do seu sistema de gerenciamento de perfis</strong>.</p></li>
</ul>
<h2 id="simplifique-o-gerenciamento-de-perfis-de-liberação">Simplifique o gerenciamento de perfis de liberação</h2>
<ul>
<li><p>Planeje <strong>documentar ou automatizar o movimento de seus colaboradores</strong>. Por exemplo, esses procedimentos devem levar as ações a serem tomadas quando as pessoas não estiverem mais autorizadas a acessar uma sala ou recurso de TI ou no final de seu contrato.</p></li>
<li><p>Gerenciar seus usuários e colaboradores implica <strong>uma revisão regular da permissão</strong> de acordo com a evolução dos usos e movimentos organizacionais dentro do seu projeto. O uso de serviços de diretório, como o <em>LDAP</em>, ajudará você a monitorar essas alterações e a refinar suas estratégias de acesso, por exemplo, atribuindo funções com base nos perfis de uso. Isso permite que você respeite melhor o princípio do menor privilégio.</p></li>
<li><p>O uso de contas “supremas” (tipo <em>root</em>, administrador etc.) deve ser evitado para operações convencionais, pois constitui a pedra angular do seu sistema e um destino privilegiado para um possível invasor externo. Recomendamos que você associe uma política de senha forte a ela (10 a 20 caracteres ou multifator) e limite o número de pessoas com conhecimento dela ao estritamente necessário.</p></li>
<li><p><strong>Favorecer o uso de um gerenciador de senhas no seu projeto</strong> e a transição para autenticação forte, quando possível. Evite contas genéricas compartilhadas por várias pessoas.</p></li>
</ul>
<h1 id="sheet-n09-controle-suas-bibliotecas-e-sdks">Sheet n°09: Controle suas bibliotecas e SDKs</h1>
<h4 id="você-usa-bibliotecas-sdks-ou-outros-componentes-de-software-criados-por-terceiros-aqui-estão-algumas-dicas-sobre-como-integrar-essas-ferramentas-mantendo-o-controle-de-seus-desenvolvimentos.">Você usa bibliotecas, SDKs ou outros componentes de software criados por terceiros? Aqui estão algumas dicas sobre como integrar essas ferramentas, mantendo o controle de seus desenvolvimentos.</h4>
<h2 id="faça-uma-escolha-informada">Faça uma escolha informada</h2>
<ul>
<li><p><strong>Avalie o valor da adição de cada dependência.</strong> Alguns tijolos de software comumente usados têm apenas algumas linhas. No entanto, cada elemento adicionado é um aumento na superfície de ataque do seu sistema. No caso em que uma única biblioteca oferece várias funcionalidades, integre apenas as funcionalidades que você realmente precisa. Ao ativar o número mínimo de funcionalidades, você reduz o número de possíveis erros que podem ocorrer.</p></li>
<li><p><strong>Escolha software, bibliotecas e SDKs mantidos:</strong></p>
<ul>
<li><p>Se você deseja usar software livre ou de código aberto, tente escolher projetos ou soluções com uma comunidade ativa, atualizações regulares e boa documentação.</p></li>
<li><p>Se você usar outros tipos de soluções com suporte comercial, garanta contratualmente que o código seja mantido e atualizado por toda a vida útil do seu projeto.</p></li>
</ul></li>
<li><p><strong>Leve em consideração a privacidade.</strong> Alguns SDKs ou bibliotecas se pagam usando dados pessoais coletados dos aplicativos ou sites nos quais estão integrados. Certifique-se de que esses terceiros cumpram as leis aplicáveis em relação aos dados pessoais, incluindo um mecanismo para obter o consentimento do usuário.</p></li>
<li><p><strong>Se você usar mecanismos criptográficos, é altamente desencorajado implementar os algoritmos ou protocolos criptográficos</strong>, mas tente escolher as bibliotecas criptográficas mantidas, reconhecidas e fáceis de usar.</p></li>
</ul>
<h2 id="avalie-os-elementos-selecionados">Avalie os elementos selecionados</h2>
<ul>
<li><strong>Leia a documentação e altere as configurações padrão</strong>. É importante saber como suas dependências funcionam. Bibliotecas e SDKs de terceiros geralmente vêm com arquivos de configuração padrão, que raramente são alterados devido à falta de tempo, o que causa muitas falhas de segurança.</li>
<li><strong>Audite suas bibliotecas e SDKs.</strong> Você realmente sabe o que todas as bibliotecas e SDKs integrados fazem? Quais dados são enviados por essas dependências e para quem? Essa auditoria permitirá determinar as obrigações de proteção de dados a serem respeitadas e estabelecer a responsabilidade dos atores.</li>
<li><strong>Mapeie suas dependências.</strong> As bibliotecas e SDKs de terceiros também podem integrar outros componentes: a auditoria de seu código permitirá mapear melhor todas as suas dependências e agir melhor se um problema afetar uma delas. Também é recomendável que você execute auditorias de segurança de seus componentes de terceiros e os monitore.</li>
<li><strong>Cuidado com o <a href="https://en.wikipedia.org/wiki/Typosquatting">typosquatting</a> e outras técnicas maliciosas.</strong> Verifique os nomes das dependências e suas próprias dependências para evitar ataques. Não copie e cole linhas de comando de sites desconhecidos.</li>
</ul>
<h2 id="manter-bibliotecas-e-sdks">Manter bibliotecas e SDKs</h2>
<ul>
<li><strong>Use sistemas de gerenciamento de dependências</strong> (como yum, apt, maven, pip, etc.) para manter uma lista atualizada de suas dependências.</li>
<li><strong>Gerencie atualizações para suas dependências,</strong> especialmente no caso de atualizações de segurança que corrigem vulnerabilidades. Você deve configurar um procedimento documentado para gerenciar e implantá-los o mais rápido possível.</li>
<li><strong>Esteja ciente das versões de bibliotecas e SDKs no final do suporte</strong> que não serão mais mantidas: tente encontrar outra solução (escolha uma nova biblioteca, renove o suporte comercial).</li>
<li><strong>Verifique o status dos projetos de código aberto,</strong> especialmente a mudança de domínio ou propriedade de pacote, alguns ataques usando atualizações maliciosas de dependências populares.</li>
</ul>
<h1 id="sheet-n10-garanta-a-qualidade-do-código-e-sua-documentação">Sheet n°10: Garanta a qualidade do código e sua documentação</h1>
<h4 id="é-essencial-adotar-boas-técnicas-de-escrita-de-código-o-mais-rápido-possível.-a-legibilidade-do-código-reduz-o-esforço-de-manutenção-e-correções-de-bugs-ao-longo-do-tempo-para-você-e-seus-possivelmente-futuros-colaboradores.">É essencial adotar boas técnicas de escrita de código o mais rápido possível. A legibilidade do código reduz o esforço de manutenção e correções de bugs ao longo do tempo para você e seus (possivelmente futuros) colaboradores.</h4>
<h2 id="código-e-arquitetura-do-documento">Código e arquitetura do documento</h2>
<ul>
<li><p>Às vezes, a documentação é deixada de fora durante o desenvolvimento, devido à falta de tempo ou visibilidade do projeto. No entanto, é <strong>crucial para a manutenção do seu projeto</strong>: permite entender como o código funciona globalmente e saber quais partes do código são afetadas por uma modificação.</p></li>
<li><p><strong>Documente a arquitetura, não apenas o código</strong>: você precisa manter a visão geral em mente ao escrever sua documentação e ajudar os desenvolvedores a entender como todos os seus componentes funcionam juntos. Portanto, concentre-se em diagramas e explicações claras ao documentar seu projeto.</p></li>
<li><p><strong>Mantenha a documentação juntamente com o código</strong>: A melhor maneira de manter sua documentação atualizada é modificá-la à medida que avança no código.</p></li>
<li><p>Se você usa um gerenciador de código-fonte, também pode incluir alterações na documentação para cada “<em>commit</em>” que modifica seu código (consulte em particular [o formulário “Gerenciar seu código-fonte”]](#Sheet_n°4_:_Gerenciar_seu_código-fonte)).</p></li>
<li><p><strong>Não se esqueça de abordar a segurança na sua documentação</strong>. Em particular, você pode documentar as diferentes opções de configuração para seu aplicativo e explicar quais configurações são as mais seguras.</p></li>
</ul>
<h2 id="verifique-a-qualidade-do-seu-código-e-sua-documentação.">Verifique a qualidade do seu código e sua documentação.</h2>
<ul>
<li><p>Um código de qualidade envolve <strong>adoção de boas práticas e convenções de codificação</strong> aplicadas de forma consistente ao longo do programa. Também é melhor consultar as <a href="https://github.com/Kristories/awesome-guidelines">convenções existentes</a>. Aqui estão alguns exemplos de boas práticas:</p>
<ul>
<li><strong>O uso explícito de nomes de variáveis e funções</strong> facilita a compreensão do que está acontecendo à primeira vista.</li>
<li><strong>Recuar corretamente seu código</strong> permite que você veja a estrutura do código mais rapidamente.</li>
<li><strong>Evitar redundância de código</strong> reduz os esforços de correção que precisam ser feitos em vários locais. Um descuido é rapidamente esquecido.</li>
</ul></li>
<li><p><strong>As ferramentas podem ajudá-lo a controlar a qualidade do seu código</strong>. Uma vez configurados corretamente, eles evitarão reler o código para verificar a implementação correta das convenções de codificação. Exemplos dessas ferramentas são:</p>
<ul>
<li><strong>Ambientes de desenvolvimento integrados</strong> (“<em>IDE</em>”), possivelmente usando plugins (“<em>plugins</em>”), podem ser configurados para respeitar as regras de indentação de código, quebras de linha entre diferentes partes do código ou a posição de chaves e outros parênteses.</li>
<li><strong>O software de medição da qualidade do código fonte</strong> pode relatar duplicações de código, conformidade com regras de programação ou possíveis bugs.</li>
</ul></li>
</ul>
<h1 id="sheet-n11-teste-seus-aplicativos">Sheet n°11: Teste seus aplicativos</h1>
<h4 id="o-teste-do-seu-produto-permite-verificar-o-funcionamento-correto-garantir-uma-boa-experiência-do-usuário-e-encontrar-e-evitar-defeitos-antes-de-entrar-em-produção.-testar-seu-produto-também-reduz-o-risco-de-violações-de-dados-pessoais.">O teste do seu produto permite verificar o funcionamento correto, garantir uma boa experiência do usuário e encontrar e evitar defeitos antes de entrar em produção. Testar seu produto também reduz o risco de violações de dados pessoais.</h4>
<h2 id="automatizar-testes">Automatizar testes</h2>
<ul>
<li><p>Os <strong>testes de desenvolvimento</strong> (unitários, funcionais etc.) verificarão a adequação entre as especificações e o funcionamento do produto. Os <strong>testes de segurança</strong> (testes aleatórios de dados também chamados “<em>fuzzing</em>”, <em>scan</em> de vulnerabilidades etc.) verificarão se o produto continua funcionando de maneira aceitável quando você se afasta do uso normal e se não apresenta nenhuma vulnerabilidade. isso poderia permitir que terceiros comprometessem sua segurança. Ambos os tipos de testes são importantes para o bom funcionamento do seu aplicativo.</p></li>
<li><p>Configure um <strong>sistema de integração contínua</strong> para executar os testes automaticamente após cada alteração no seu código-fonte.</p></li>
</ul>
<h2 id="integre-os-testes-à-sua-estratégia-de-negócios.">Integre os testes à sua estratégia de negócios.</h2>
<ul>
<li><p>Adicione a implementação do ambiente de teste à estratégia da empresa. As <strong>métricas aceitáveis</strong> devem ser definidas em conjunto por todas as partes antes do desenvolvimento.</p></li>
<li><p>As métricas a serem consideradas são, por exemplo:</p>
<ul>
<li>A <strong>taxa de cobertura</strong> dos testes e seu tipo;</li>
<li>a <strong>taxa de duplicação</strong> do seu código;</li>
<li>o <strong>número de vulnerabilidades</strong> (conforme definido pelas ferramentas) e seu tipo, etc.</li>
</ul></li>
</ul>
<h2 id="cuidado-com-seus-dados-de-teste">Cuidado com seus dados de teste!</h2>
<ul>
<li><p>Dados de produção “reais” não devem ser usados durante a fase de desenvolvimento e teste. Usar dados pessoais do banco de dados de produção para fins de teste equivale a <strong>desviá-los do seu objetivo original</strong>.</p></li>
<li><p>Se dados pessoais forem usados fora da produção, observe que os <strong>riscos à segurança</strong> também <strong>aumentam</strong>: acesso aos dados por pessoas que não precisam conhecer, vários locais de armazenamento, etc. .</p></li>
<li><p>Portanto, crie um <strong>conjunto de dados fictícios</strong> que se parecerá com os dados que serão processados pelo seu aplicativo. Um conjunto de dados fictícios garantirá que a divulgação desses dados não tenha impacto nas pessoas.</p></li>
<li><p>Se você precisar <strong>importar configurações existentes</strong> da produção para seus casos de teste, considere <strong>anonimizar os dados pessoais</strong> que possam estar presentes.</p></li>
</ul>
<h1 id="sheet-n12-informar-usuários">Sheet n°12: Informar usuários</h1>
<h4 id="o-princípio-da-transparência-do-gdpr-exige-que-qualquer-informação-ou-comunicação-relacionada-ao-processamento-de-dados-pessoais-seja-concisa-transparente-compreensível-e-facilmente-acessível-em-linguagem-simples-e-simples.">O princípio da transparência do GDPR exige que qualquer informação ou comunicação relacionada ao processamento de dados pessoais seja concisa, transparente, compreensível e facilmente acessível em linguagem simples e simples.</h4>
<h2 id="quem-informar-e-quando">Quem informar e quando?</h2>
<ul>
<li><p>Os titulares dos dados devem ser informados:</p>
<ul>
<li>ambos <strong>no caso de coleta direta de dados</strong> ou seja, quando os dados são coletados diretamente de indivíduos (exemplos: formulário, compra on-line, assinatura de contrato, abertura de uma conta bancária) ou quando são coletados por meio de dispositivos ou tecnologias para observar a atividade dos indivíduos (exemplos: análise da navegação na Internet, geolocalização e análise/rastreamento de Wi-Fi para medição de audiência, etc.);</li>
</ul></li>
<li><p>e <strong>no caso de coleta indireta de dados pessoais</strong>, quando os dados não são coletados diretamente de indivíduos (exemplos: dados recuperados de parceiros comerciais, <em>corretores de dados</em>, fontes disponíveis ao público ou outros).</p></li>
<li><p>Esta informação é necessária:</p>
<ul>
<li><strong>durante a coleta de dados</strong> no caso de coleta direta;</li>
<li><strong>o mais rápido possível no caso de coleta indireta</strong> (em particular no momento do primeiro contato com a pessoa) e o mais tardar um mês após a coleta (com <a href="https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/individual-rights/right-to-be-informed/#exceptions">exceções</a>);</li>
<li><strong>no caso de uma alteração substancial ou de um evento específico</strong>. Por exemplo: nova finalidade, novos destinatários, alteração na forma como os direitos são exercidos, <a href="#Sheet_n°1:_Identify_personal_data">violação de dados</a>.</li>
</ul></li>
</ul>
<h2 id="que-informações-eu-tenho-para-fornecer">Que informações eu tenho para fornecer?</h2>
<ul>
<li><p>Em todos os casos, você deve especificar:</p>
<ul>
<li><strong>A identidade e detalhes de contato da organização</strong> que coleta os dados (quem os processa?);</li>
<li><strong>Os propósitos</strong> (para que os dados coletados serão usados?);</li>
<li><strong>A base legal</strong> na qual o processamento de dados se baseia (encontre todas as <a href="https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/lawful-basis-for-processing/"><strong>informações com base legal</strong></a>);</li>
<li><strong>A natureza obrigatória ou opcional da coleta de dados</strong> (que implica uma reflexão a montante da utilidade da coleta de dados em vista do objetivo perseguido - o princípio da “minimização” dos dados) e as <strong>consequências para a pessoa</strong> em caso de falha no fornecimento dos dados;</li>
<li><strong>Destinatários ou categorias de destinatários dos dados</strong> (quem precisa acessá-los ou recebê-los para os fins definidos, incluindo processadores?);</li>
<li><strong>O período de retenção de dados</strong> (ou critérios para determiná-lo);</li>
<li><strong>A existência dos direitos dos titulares de dados e os meios para exercê-los</strong> (os direitos de acesso, retificação, apagamento e restrição são aplicáveis a todas as operações de processamento);</li>
<li><strong>Os detalhes de contato do responsável pela proteção de dados</strong> do organismo, se nomeado, ou de um ponto de contato sobre questões de proteção de dados pessoais;</li>
<li><strong>O direito de registrar uma reclamação na sua agência local de proteção de dados.</strong></li>
</ul></li>
<li><p>Em certos casos específicos, devem ser fornecidas informações adicionais, por exemplo, no caso de transferências de dados para fora da UE, tomada de decisão ou criação de perfil totalmente automatizadas ou quando a base legal para o processamento for o interesse legítimo do organismo que coleta o dados (consulte as <a href="https://www.cnil.fr/sites/default/files/atoms/files/wp260_enpdf_transparency.pdf">diretrizes sobre transparência</a> para obter mais informações).</p></li>
<li><p>No caso de cobrança indireta, deve ser adicionado o seguinte:</p>
<ul>
<li><strong>Categorias de dados</strong> coletados;</li>
<li><strong>A fonte dos dados</strong> (indicando em particular se são de fontes publicamente disponíveis). ## De que forma devo fornecer essas informações?</li>
</ul></li>
<li><p>As informações devem ser <strong>fáceis de acessar</strong>: o usuário deve poder encontrá-las sem dificuldade.</p></li>
<li><p><strong>Deve ser fornecido de maneira clara e compreensível</strong>, ou seja, com vocabulário simples (frases curtas, sem termos legais ou técnicos, sem ambiguidades) e informações adaptadas ao público-alvo (com atenção especial a crianças e pessoas vulneráveis) .</p></li>
<li><p><strong>Deve ser escrito de maneira concisa</strong>. Para evitar a armadilha de uma enxurrada de informações que abafam o usuário, é necessário <strong>trazer as informações mais relevantes no momento certo</strong>.</p></li>
<li><p>As informações relacionadas à proteção de dados devem ser <strong>distinguíveis das informações que não estão especificamente relacionadas à privacidade (como cláusulas contratuais ou termos e condições gerais de uso).</strong></p></li>
</ul>
<h2 id="que-comunicação-deve-ser-feita-quando-a-segurança-dos-dados-é-comprometida">Que comunicação deve ser feita quando a segurança dos dados é comprometida?</h2>
<ul>
<li><p><strong>Uma organização pode sofrer, por engano ou por negligência, acidental ou maliciosamente, uma violação de dados pessoais, ou seja, a destruição, perda, alteração ou divulgação não autorizada de dados</strong>. Nesse caso, a organização deve relatar a violação à agência local de proteção de dados dentro de <strong>72 horas</strong> se for provável que isso represente um risco aos direitos e liberdades dos indivíduos.</p></li>
<li><p>Se esses riscos forem altos, a organização também deve informar as pessoas envolvidas o mais rápido possível e aconselhá-las sobre como proteger seus dados (por exemplo, cancelamento de um cartão bancário comprometido, modificação de senha, modificação de configurações de privacidade etc.) .).</p></li>
<li><p>A notificação da violação à CNIL deve ser feita através do <a href="https://www.cnil.fr/fr/notifier-une-violation-de-donnees-personnelles">site da CNIL</a>.</p></li>
</ul>
<h2 id="recursos-úteis">Recursos úteis</h2>
<ul>
<li>O site <a href="https://design.cnil.fr/en/">Data & Design</a> desenvolvido pelo Laboratório de Inovação Digital da CNIL desenvolve esses conceitos e contém <a href="https://design.cnil.fr/en/concepts/information/">exemplos de interface</a>.</li>
<li>O site da CNIL também contém <a href="https://www.cnil.fr/fr/rgpd-exemples-de-mentions-dinformation">muitos exemplos de avisos de informação em francês</a>.</li>
<li>A página <a href="https://www.cnil.fr/fr/les-violations-de-donnees-personnelles">violações de dados pessoais</a> no site da CNIL (em francês).</li>
</ul>
<h1 id="sheet-n13-prepare-se-para-exercer-os-direitos-das-pessoas">Sheet n°13: Prepare-se para exercer os direitos das pessoas</h1>
<h4 id="as-pessoas-cujos-dados-você-processa-têm-direitos-sobre-os-dados-dele-direito-de-acesso-retificação-objeção-exclusão-portabilidade-de-dados-e-restrição-de-processamento.-você-deve-fornecer-a-eles-os-meios-para-exercer-efetivamente-seus-direitos-e-fornecer-em-seus-sistemas-de-computador-as-ferramentas-técnicas-que-permitirão-que-seus-direitos-sejam-levados-em-consideração-adequadamente.">As pessoas cujos dados você processa têm direitos sobre os dados dele: direito de acesso, retificação, objeção, exclusão, portabilidade de dados e restrição de processamento. Você deve fornecer a eles os meios para exercer efetivamente seus direitos e fornecer em seus sistemas de computador as ferramentas técnicas que permitirão que seus direitos sejam levados em consideração adequadamente.</h4>
<h4 id="a-preparação-antecipada-de-como-eles-entrarão-em-contato-com-você-e-como-você-lidará-com-as-solicitações-deles-permitirá-que-você-gerencie-o-exercício-desses-direitos-com-eficiência.">A preparação antecipada de como eles entrarão em contato com você e como você lidará com as solicitações deles permitirá que você gerencie o exercício desses direitos com eficiência.</h4>
<h2 id="medidas-mínimas-a-serem-implementadas">Medidas mínimas a serem implementadas</h2>
<ul>
<li><p>Todas as organizações que usam dados pessoais têm <strong>a obrigação de indicar onde e como</strong> indivíduos podem exercer seus direitos em relação a esses dados. Por exemplo, você pode mencionar um endereço de email ou um formulário da Web ao informar indivíduos, bem como em sua política de privacidade.</p></li>
<li><p>Para facilitar o exercício dos direitos das pessoas, esses direitos também podem ser <strong>implementados</strong>, no todo ou em parte, diretamente no <strong>aplicativo ou software que você desenvolve</strong>. Essa implementação específica não é obrigatória, mas permite atender às expectativas dos usuários e reduzir o tempo e a complexidade do processamento desse tipo de solicitação.</p></li>
<li><p>Acima de tudo, no caso de acesso ou operações realizadas diretamente por uma pessoa que exerce seus direitos, não se esqueça de gerenciar sua <strong>autenticação</strong> de maneira segura. No geral, <strong>rastreia</strong> também todas as operações que afetam seus dados pessoais.</p></li>
</ul>
<h2 id="aqui-estão-alguns-exemplos-de-direitos-e-sua-possível-implementação">Aqui estão alguns exemplos de direitos e sua possível implementação</h2>
<ul>
<li><p><strong>Direito de acesso</strong>: as pessoas têm o direito de obter uma cópia de todas as informações que você tem sobre elas. Isso permite, entre outras coisas, que uma pessoa saiba se os dados a seu respeito estão sendo processados e obtenha uma cópia legível em um formato compreensível. Em particular, permite verificar a precisão dos dados. **_ Possível implementação _**: Forneça uma funcionalidade para exibir todos os dados relacionados a uma pessoa. Se houver muitos dados, você poderá dividi-los em vários monitores. Se os dados forem muito grandes, ofereça à pessoa o download de um arquivo que contenha todos os seus dados.</p></li>
<li><p><strong>Direito de apagar</strong>: as pessoas têm o direito de solicitar a exclusão de todos os dados que você possui. **_ Possíveis implementações _**:</p>
<ol type="1">
<li>Forneça uma funcionalidade para apagar todos os dados relacionados a uma pessoa.</li>
<li>Forneça também a notificação automática dos processadores para apagar também os dados relacionados a essa pessoa.</li>
<li>Forneça a exclusão de dados também nos backups ou forneça uma solução alternativa que não restaure os dados apagados relacionados a essa pessoa.</li>
</ol></li>
<li><p><strong>Direito de contestar</strong>: os indivíduos têm o direito de contestar, em certos casos, seus dados que são usados para uma finalidade específica. **_ Possível implementação _**: fornece uma funcionalidade que permite ao sujeito de dados se opor ao processamento. Quando o titular dos dados exercita seu direito de se opor dessa maneira, o responsável pelo tratamento deve excluir os dados já coletados e, posteriormente, não deve coletar mais dados relacionados a essa pessoa.</p></li>
<li><p><strong>Direito à portabilidade de dados</strong>: os indivíduos têm o direito de recuperar seus dados em um formato legível por máquina para uso próprio ou para transferência para outra organização. **_ Possível implementação _**: forneça um recurso que permita que o titular dos dados baixe seus dados em um formato legível por máquina padrão (CSV, XML, JSON etc.).</p></li>
<li><p><strong>Direito de retificação</strong>: Os indivíduos têm o direito de solicitar a modificação de seus dados quando estiverem incorretos, a fim de limitar o uso ou a disseminação de informações erradas. **_ Possível implementação _**: Permite modificar diretamente os dados na conta do usuário.</p></li>
<li><p><strong>Direito à restrição de processamento</strong>: os indivíduos têm o direito de solicitar que o processamento de seus dados seja bloqueado por um determinado período de tempo, por exemplo tempo para examinar uma disputa da parte deles sobre o uso de seus dados ou uma solicitação para exercer direitos. **_ Possível implementação _**: Permite aos administradores colocar dados sobre uma pessoa em “quarentena”: esses dados não podem mais ser lidos ou modificados.</p></li>
</ul>
<h2 id="em-conclusão">Em conclusão</h2>
<ul>
<li><p>O <a href="https://design.cnil.fr/en">site Data & Design</a> desenvolvido pelo Laboratório de Inovação Digital da CNIL desenvolve esses conceitos e contém <a href="https://design.cnil.fr/en/concepts/exercising-rights/">exemplos de interfaces para o exercício de direitos</a>.</p></li>
<li><p>Finalmente, seja <strong>criativo</strong>! (Em caso de dúvida, peça orientação à CNIL).</p></li>
</ul>
<h1 id="sheet-n14-definir-um-período-de-retenção-de-dados">Sheet n°14: Definir um período de retenção de dados</h1>
<h4 id="os-dados-pessoais-não-podem-ser-mantidos-por-um-período-indeterminado-isso-deve-ser-definido-de-acordo-com-os-propósitos-do-processamento.-uma-vez-alcançado-esse-objetivo-os-dados-devem-ser-arquivados-excluídos-ou-tornados-anônimos-por-exemplo-para-produzir-estatísticas.">Os dados pessoais não podem ser mantidos por um período indeterminado: isso deve ser definido de acordo com os propósitos do processamento. Uma vez alcançado esse objetivo, os dados devem ser arquivados, excluídos ou tornados anônimos (por exemplo, para produzir estatísticas).</h4>
<h2 id="ciclos-de-retenção-de-dados">Ciclos de retenção de dados</h2>
<ul>
<li><p>O ciclo de retenção de dados pessoais pode ser dividido em <strong>três fases sucessivas distintas</strong>:</p>
<ul>
<li>O banco de dados ativo;</li>
<li>Arquivamento intermediário;</li>
<li>Arquivamento final ou exclusão.</li>
</ul></li>
<li><p>Os mecanismos para excluir dados pessoais das bases ativas garantem que os dados sejam mantidos e acessíveis apenas pelos serviços operacionais <strong>pelo tempo necessário para atingir o objetivo da operação de processamento</strong>.</p></li>
<li><p>Verifique se <strong>os dados não são mantidos nos bancos de dados ativos</strong> simplesmente observando-os <strong>como sendo arquivados</strong>. Os dados arquivados (arquivo intermediário) devem estar acessíveis apenas a um serviço específico responsável por acessá-los e removê-los do arquivo, se necessário.</p></li>
<li><p>Verifique também se você possui <strong>modos de acesso especificados</strong> para os dados arquivados, pois o uso de um arquivo deve ser ad hoc e excepcional.</p></li>
<li><p>Se possível, use a mesma implementação ao implementar a <strong>remoção de dados ou anonimato</strong> que aquela que gerencia o <strong>direito de exclusão</strong> (consulte <a href="Sheet_n°13:_Prepare_for_the_exercise_of_people's_rights">folha sobre o exercício dos direitos</a> ), para garantir uma operação homogênea do seu sistema.</p></li>
</ul>
<h2 id="alguns-exemplos-de-prazo-de-validade">Alguns exemplos de prazo de validade</h2>
<ul>
<li><p>Os <strong>dados relativos ao gerenciamento da folha de pagamento ou ao controle do tempo dos funcionários</strong> podem ser mantidos por 5 anos.</p></li>
<li><p>Os <strong>dados em um arquivo médico</strong> devem ser mantidos por 20 anos.</p></li>
<li><p>Os <strong>dados de um possível cliente que não responde a nenhuma solicitação</strong> podem ser mantidos por 3 anos.</p></li>
<li><p>Os <strong>dados de log</strong> podem ser mantidos por 6 meses.</p></li>
</ul>
<h1 id="sheet-n15-leve-em-consideração-a-base-jurídica-da-implementação-técnica">Sheet n°15: Leve em consideração a base jurídica da implementação técnica</h1>
<h4 id="o-processamento-de-dados-pessoais-deve-ser-baseado-em-uma-das-bases-legais-mencionadas-no-artigo-6-do-gdpr.-a-base-legal-de-uma-operação-de-processamento-é-de-certa-forma-a-justificativa-da-existência-da-operação-de-processamento.-a-escolha-de-uma-base-jurídica-tem-um-impacto-direto-nas-condições-de-implementação-da-operação-de-processamento-e-nos-direitos-dos-indivíduos.-assim-antecipar-a-base-jurídica-das-operações-de-processamento-antes-de-qualquer-desenvolvimento-ajudará-você-a-integrar-as-funções-necessárias-para-garantir-que-essas-operações-de-processamento-cumpram-a-lei-e-respeitem-os-direitos-dos-indivíduos.">O processamento de dados pessoais deve ser baseado em uma das “bases legais” mencionadas no <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=FR#d1e1888-1-1">artigo 6 do GDPR</a>. A base legal de uma operação de processamento é de certa forma a justificativa da existência da operação de processamento. A escolha de uma base jurídica tem um impacto direto nas condições de implementação da operação de processamento e <a href="#Sheet_n°13_:_Preparing_the_exercise_of_persons_rights">nos direitos dos indivíduos</a>. Assim, antecipar a base jurídica das operações de processamento antes de qualquer desenvolvimento ajudará você a integrar as funções necessárias para garantir que essas operações de processamento cumpram a lei e respeitem os direitos dos indivíduos.</h4>
<h2 id="definição-das-bases-jurídicas-no-rgpd">Definição das bases jurídicas no RGPD</h2>
<ul>
<li>No contexto de um desenvolvimento para uma organização privada (empresas, associações, etc.), as bases jurídicas frequentemente usadas são:
<ul>
<li><strong>O contrato</strong>: o processamento é necessário para a execução ou preparação de um contrato entre o titular dos dados e o organismo que realiza a operação de processamento;</li>
<li><strong>O interesse legítimo</strong>: a organização tem um interesse “legítimo” em realizar o processamento e não é provável que afete negativamente os direitos e liberdades dos titulares dos dados;</li>
<li><strong>Consentimento</strong>: o titular dos dados deu seu consentimento explícito para o processamento.</li>
</ul></li>
<li>Se você é uma autoridade pública ou um órgão que realiza tarefas de interesse público, outras bases legais também podem ser usadas:
<ul>
<li><strong>A obrigação legal</strong>: o processamento é imposto por textos regulatórios.</li>
<li><strong>A missão de interesse público</strong>: o processamento é necessário para a execução de uma tarefa realizada no interesse público.</li>
</ul></li>
<li>Finalmente, em casos muito específicos, <strong>a proteção de interesses vitais</strong> pode ser usada como base legal, por exemplo, quando o processamento é necessário para monitorar a propagação de epidemias ou em casos de emergência humanitária.</li>
</ul>
<h2 id="escolha-a-base-jurídica-apropriada">Escolha a base jurídica apropriada</h2>
<ul>
<li><p>Antes de tudo, verifique no site da CNIL que <strong>um texto não impõe restrições específicas</strong> (por exemplo: <a href="https://www.cnil.fr/sites/default/files/atoms/files/draft_recommendation_cookies_and_other_trackers_en.pdf">cookies e outros rastreadores</a>).</p></li>
<li><p><strong>Apenas uma base jurídica deve ser escolhida</strong> para um determinado objetivo. A base jurídica não pode ser acumulada para a mesma finalidade. A mesma operação de processamento de dados pode buscar vários propósitos e uma base legal deve ser definida para cada um deles.</p></li>
<li><p>Como mencionado acima, se você é uma <strong>autoridade pública</strong>, a obrigação legal e a missão de interesse público serão as mais relevantes na maioria dos casos.</p></li>
<li><p>Se sua operação de processamento faz parte de um relacionamento contratual e seu objetivo é objetiva e estritamente necessário para a prestação do serviço do usuário (por exemplo, nome, nome e endereço para criar uma conta em um site de comércio eletrônico), então <strong>o contrato deve seja apropriado</strong>.</p></li>
<li><p>Se o seu processamento não fizer parte de uma relação contratual com o usuário, <strong>a base jurídica do consentimento ou interesse legítimo</strong> poderá ser invocada. Se o seu processamento for potencialmente invasivo (criação de perfil, coleta de dados de geolocalização, etc.), o consentimento provavelmente será a base legal apropriada.</p></li>
<li><p>Se o seu processamento contiver <strong>dados confidenciais</strong> (dados de saúde, dados relativos à vida ou orientação sexual, etc.), será necessário identificar, além da base legal, uma exceção prevista no <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=FR#d1e2051-1-1">Artigo 9 da RGPD</a>.</p></li>
</ul>
<p>Exercícios e modalidades de informações a serem fornecidas de acordo com a base legal</p>
<ul>
<li>A tabela a seguir resume os exercícios de direitos a serem concedidos de acordo com a base legal:</li>
</ul>
<table style="width:100%;">
<colgroup>
<col style="width: 13%" />
<col style="width: 8%" />
<col style="width: 13%" />
<col style="width: 12%" />
<col style="width: 21%" />
<col style="width: 13%" />
<col style="width: 16%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: center;"></th>
<th style="text-align: center;">Direito de acesso</th>
<th style="text-align: center;">Direito à retificação</th>
<th style="text-align: center;">Direito de apagar</th>
<th style="text-align: center;">Direito à restrição de processamento</th>
<th style="text-align: center;">Direito à portabilidade de dados</th>
<th style="text-align: center;">Direito de objetar</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: center;"><strong>Consentimento</strong></td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;"><strong>Retirada do consentimento</strong></td>
</tr>
<tr class="even">
<td style="text-align: center;"><strong>Contrato</strong></td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✘</td>
</tr>
<tr class="odd">
<td style="text-align: center;"><strong>Interesse legítimo</strong></td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✘</td>
<td style="text-align: center;">✔</td>
</tr>
<tr class="even">
<td style="text-align: center;"><strong>Obrigação legal</strong></td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✘</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✘</td>
<td style="text-align: center;">✘</td>
</tr>
<tr class="odd">
<td style="text-align: center;"><strong>Interesse público</strong></td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✘</td>
<td style="text-align: center;">✔</td>
<td style="text-align: center;">✘</td>
<td style="text-align: center;">✔</td>
</tr>
<tr class="even">
<td style="text-align: center;"><strong>Proteger interesses vitais</strong></td>