RGPD: Reglament General de Protecció de Dades
Introducció
El RGPD (Reglament (UE) 2016/679, General Data Protection Regulation) és la normativa europea que regula el tractament de dades personals. En vigor des del 25 de maig de 2018, substitueix la Directiva 95/46/CE i és d'aplicació directa a tots els estats membres de la UE, sense necessitat de transposició.
A Espanya, el RGPD es complementa amb la LOPDGDD (Llei Orgànica 3/2018 de Protecció de Dades Personals i Garantia dels Drets Digitals).
L'incompliment del RGPD pot suposar multes de fins a 20 milions d'euros o el 4% de la facturació global anual de l'empresa (la xifra que sigui superior).
mindmap
root((RGPD))
Principis
Licitud
Minimització
Limitació de finalitat
Exactitud
Limitació de conservació
Integritat i confidencialitat
Drets dels interessats
Accés
Rectificació
Supressió
Portabilitat
Oposició
Limitació del tractament
Obligacions del responsable
Registre d'activitats
DPO si requerit
Privacy by Design
Notificació de brecxes
EIPD si risc alt
Bases de legitimació
Consentiment
Contracte
Obligació legal
Interessos vitals
Interès públic
Interès legítim
Principis Fonamentals (Art. 5 RGPD)
1. Licitud, lleialtat i transparència
El tractament ha de tenir una base legal. L'interessat ha de ser informat.
2. Limitació de la finalitat
Les dades es recullen per a finalitats específiques i no es poden tractar de manera incompatible.
# ❌ Violació del principi de limitació de finalitat
# Una app de fitness recull el GPS per mostrar rutes
# Però la ven a asseguradores per a calcular primes
user_location = track_user_gps()
sell_to_insurance(user_location) # Finalitat incompatible!
# ✅ Correcte: finalitat declarada i consistent
user_location = track_user_gps() # Finalitat: mostrar rutes
display_route(user_location) # Ús consistent amb la finalitat
3. Minimització de dades
"Adequades, pertinents i limitades al necessari" (data minimization):
# ❌ Excés de dades: demanar data de naixement per a un newsletter
registration_form = {
'email': required,
'name': required,
'birth_date': required, # Per a un newsletter? Innecessari!
'phone': required, # Innecessari per a un newsletter!
'address': required, # Innecessari!
}
# ✅ Minimitzat: únicament el necessari
registration_form = {
'email': required,
'name': optional, # Útil per a personalitzar, però opcional
}
4. Exactitud
Les dades han de ser correctes i actualitzades. Posar mecanismes per a corregir-les.
5. Limitació de la conservació
Les dades no s'han de guardar indefinidament. Cal definir periódes de retenció:
# Política de retenció de dades - exemple
DATA_RETENTION_POLICIES = {
'user_accounts': {'inactive': '2 years', 'deleted': 'immediate'},
'purchase_history': {'period': '5 years'}, # Obligació fiscal
'support_tickets': {'period': '1 year'},
'logs_access': {'period': '6 months'},
'marketing_emails': {'period': 'until_unsubscribe + 1 year'},
'video_cctv': {'period': '15 days'}, # Estàndard
}
# Job periòdic per a eliminar dades expirades
def purge_expired_data():
for category, policy in DATA_RETENTION_POLICIES.items():
users_to_purge = db.query_expired(category, policy)
for user in users_to_purge:
anonymize_or_delete(user)
log_deletion(user, category, reason='retention_policy')
6. Integritat i confidencialitat
Mesures tècniques i organitzatives per protegir les dades (el que hem après al mòdul d'enfortiment).
Bases de Legitimació (Art. 6)
El tractament de dades és lícit únicament si es dona una de les sis bases:
| Base | Descripció | Exemple |
|---|---|---|
| Consentiment | Explícit, lliure, específic, informat i inequívoc | Newsletter marketing |
| Contracte | Necessari per a executar un contracte amb l'interessat | Dades d'enviament en e-commerce |
| Obligació legal | Exigit per llei | Declaració IRPF |
| Interessos vitals | Per a protegir la vida | Emergència mèdica |
| Interès públic | Exercici de poders públics | Padró municipal |
| Interès legítim | Interès del responsable prevaleix sobre el de l'interessat | Seguretat de la xarxa interna |
El consentiment no és la única base
Un error comú és creure que tot tractament necessita consentiment. Si tens una base legal diferent (contracte, obligació legal, interès legítim), el consentiment no és necessari i de vegades no és el més adequat.
Drets dels Interessats (Arts. 15-22)
# Implementació dels drets RGPD en una aplicació web
class GDPRRights:
def exercise_right_of_access(self, user_id: int) -> dict:
"""
Art. 15: Dret d'accés - L'interessat pot saber quines dades tens d'ell.
Termini màxim: 1 mes (prorrogable 2 mesos si es justifica)
"""
user_data = db.get_all_user_data(user_id)
return {
'personal_data': user_data.profile,
'processing_purposes': ['account_management', 'newsletter'],
'data_recipients': ['payment_processor', 'email_provider'],
'retention_period': '2 years from last login',
'source': 'User registration',
'rights_info': self.get_rights_summary()
}
def exercise_right_to_erasure(self, user_id: int) -> dict:
"""
Art. 17: Dret de supressió ("dret a l'oblit").
No absolut: hi ha excepcions (obligacions legals, interès públic, etc.)
"""
exceptions = self.check_erasure_exceptions(user_id)
if exceptions:
return {'status': 'denied', 'reason': exceptions}
# Anonimitzar en lloc d'eliminar (per a mantenir integritat estadística)
self.anonymize_user_data(user_id)
self.notify_third_parties_of_erasure(user_id)
return {'status': 'completed', 'timestamp': now()}
def exercise_right_to_portability(self, user_id: int) -> bytes:
"""
Art. 20: Portabilitat. Proporcionar les dades en format llegible per màquina.
"""
user_data = db.get_user_data_for_portability(user_id)
return json.dumps(user_data).encode('utf-8')
# Format JSON, XML o CSV (llegible per màquina, reutilitzable)
Privacitat per Disseny i per Defecte (Art. 25)
Privacy by Design significa incorporar la privacitat des del disseny inicial del sistema:
# Exemple: disseny d'un sistema d'analítica web amb Privacy by Design
# ❌ Mal disseny: emmagatzemar la IP completa i el User-Agent
def log_page_view(request):
db.insert('page_views', {
'ip': request.remote_addr, # IP completa = dada personal
'user_agent': request.user_agent, # Pot identificar el dispositiu
'url': request.url,
'timestamp': datetime.now()
})
# ✅ Privacy by Design: anonimitzar a la recollida
def log_page_view_private(request):
# Truncar la IP per a preservar la privacitat
ip_parts = request.remote_addr.split('.')
anonymized_ip = f"{ip_parts[0]}.{ip_parts[1]}.{ip_parts[2]}.0"
db.insert('page_views', {
'ip_truncated': anonymized_ip, # No és una dada personal (no identifica)
'country': geoip_lookup(ip_parts[0:3]), # País (no ubicació exacta)
'browser_family': parse_ua_family(request.user_agent), # Família, no versió exacta
'url': request.url,
'date': datetime.today() # Data, no hora exacta
})
Privacy by Default: les configuracions per defecte de l'app han de ser les més privades:
❌ Mal: Per defecte, el perfil d'usuari és públic (cal deshabilitar manualment)
✅ Bé: Per defecte, el perfil és privat (l'usuari pot fer-lo públic si vol)
❌ Mal: El newsletter és opt-out (cal desmarcar-lo)
✅ Bé: El newsletter és opt-in (cal marcar-lo activament)
Tractament de Categories Especials (Art. 9)
Les categories especials requereixen una protecció addicional:
| Categoria | Exemples |
|---|---|
| Origen racial o ètnic | Fotografies de persones |
| Opinions polítiques | Afiliació a partits |
| Conviccions religioses | Menús especials per dieta religiosa |
| Dades sindicals | Afiliació a sindicats |
| Dades genètiques i biomètriques | ADN, empremtes dactilars, reconeixement facial |
| Dades de salut | Historials mèdics, discapacitats |
| Vida o orientació sexual | - |
Biometria i reconeixement facial
El reconeixement facial en espais públics per identificar persones és considerat tractament de dades biomètriques (categoria especial). Per a finalitats d'ordre públic, és generalment prohibit a la UE (debat actual en la Llei d'IA de la UE).
EIPD - Evaluació d'Impacte en la Protecció de Dades (Art. 35)
És obligatòria quan el tractament "pugui comportar un risc alt": - Videovigilància sistemàtica d'espais públics - Tractament a gran escala de categories especials - Decisió automatitzada amb efectes jurídics significatius
## Estructura d'una EIPD
1. DESCRIPCIÓ DEL TRACTAMENT
- Finalitats i bases jurídiques
- Dades tractades i volum
- Responsable i encarregats
- Fluxos de dades (diagrama)
2. AVALUACIÓ DE LA NECESSITAT I PROPORCIONALITAT
- Per quin motiu son necessàries les dades?
- Podria fer-se amb menys dades (minimització)?
3. AVALUACIÓ DE RISCOS
| Risc | Probabilitat | Impacte | Nivell |
|------|-------------|---------|--------|
| Accés no autoritzat | Mitjà | Alt | ALT |
| Fuita de dades | Baix | Molt alt | ALT |
| Ús indegut | Baix | Mig | BAIX |
4. MESURES DE MITIGACIÓ
Per a cada risc: mesures tècniques i organitzatives
5. CONSULTA AL DPO
[Signatura del DPO]
6. CONSULTA PRÈVIA (si els riscos residuals son alts)
Contactar l'AEPD abans d'iniciar el tractament
Miniactivitat
Una empresa vol implementar un sistema de control d'accés a les seves oficines usant reconeixement facial. Realitza una anàlisi preliminar EIPD:
- Quina base legal usaries (de les 6 possibles)?
- Quins riscos identificaries per als empleats?
- Existeix una alternativa menys invasiva que seria suficient?
- Caldria fer una consulta prèvia a l'AEPD?
Transferències Internacionals de Dades (Cap. V)
flowchart TD
TRANSFER[Transferir dades\nfora de la UE] --> Q1{País\nequivalent?}
Q1 -->|Sí\nEx: UK, Canadà, Japó| OK[✅ Permès]
Q1 -->|No| Q2{Garanties\nadequades?}
Q2 -->|SCCs\nBCRs\nCertificació| OK2[✅ Permès amb salvaguardes]
Q2 -->|Cap garantia| Q3{Excepció\nArt. 49?}
Q3 -->|Consentiment explícit\nNecessitat de l'execució| OK3[✅ Permès excepcionalment]
Q3 -->|Cap excepció| PROHIBIT[❌ Prohibit]
Implicació pràctica: Si ets empresa i uses serveis cloud d'AWS/Google/Azure (EUA), necessites tenir SCCs (Standard Contractual Clauses) signades amb el proveïdor.
Exercici pràctic
Realitza una Avaluació d'Impacte en la Protecció de Dades (EIPD) per a una app mòbil fictícia de gestió de salut per a un hospital que: - Recull dades de salut dels pacients - Integra un servei d'intel·ligència artificial per a diagnòstic preliminar - Els metges accedeixen des de dispositius mòbils personals - El proveïdor de l'IA és una empresa als EUA
Lliura la EIPD completa en el document eipd_NOMCOGNOM.md seguint l'estructura del tema.