Courtesy translation: only the French version is legally binding.

GDPR compliance · Article 35 · CNIL PIA method

Data Protection Impact Assessment

Last updated: 18 April 2026 · Annual review planned

Methodology

This DPIA is carried out according to the CNIL PIA framework (method and free software published by the CNIL) and the EDPB guidelines WP 248 rev. 01. Each risk is assessed on a four-level qualitative scale: Low / Moderate / High / Critical.

The matrix below covers the 3 GDPR pillars: confidentiality (R1, R2, R3, R4, R5, R7, R8, R10, R12, R13), integrity (R11), availability (R15), with a cross-cutting risk specific to vulnerable groups (R14, minors).

R9 merged into R3 (same risk, different granularity).

Matrix of 14 risks

R1

Compromise of user credentials (credential stuffing, phishing)

Inherent levelHighMitigationbcrypt hashing of passwords, single-use reset link, mandatory email verification before full access, rate limiting on authentication endpoints.Residual levelLow
R2

Application vulnerability (XSS, CSRF, SQLi)

Inherent levelHighMitigationServer-side input validation, HTTP security headers (HSTS, CSP, X-Frame-Options DENY, Referrer-Policy), parameterised queries for all database access.Residual levelLow
R3

RLS misconfiguration exposing data between tournaments

Inherent levelCriticalMitigationRow Level Security enabled on all sensitive tables, systematic review of each migration, column-by-column restriction on identifying data for authenticated access.Residual levelLow
R4

Data exfiltration via the public API

Inherent levelModerateMitigationRLS + masking of identifying columns, opaque non-predictable identifiers, rate limiting on public endpoints.Residual levelLow
R5

Identity theft at sign-up (account created in someone else's name)

Inherent levelModerateMitigationMandatory email verification before full access, double opt-in for sensitive actions, detection of email conflicts at sign-up.Residual levelLow
R6

Excessive retention after unsubscribing/deletion

Inherent levelModerateMitigationRetention policies documented per processing activity (Art. 30 record), automated account erasure and anonymisation procedure.Residual levelLow
R7

Transfers outside the EU without safeguards

Inherent levelModerateMitigationStandard Contractual Clauses signed with Vercel, Stripe, Cloudinary, DUPR; DPA for all subprocessors.Residual levelLow
R8

Compromise of the DUPR token (partner data leak)

Inherent levelModerateMitigationToken encrypted in the database and never read back by the application (column read access revoked, no decryption function), linking via official SSO without a password, revocation possible from the player profile.Residual levelLow
R10

Compromise of a subprocessor (Stripe, Resend, Cloudinary)

Inherent levelModerateMitigationDPAs signed with each subprocessor, minimal transfer of only the data strictly necessary for the service, isolation of secrets and possible rotation, public tracking of the exhaustive list at /securite/sous-traitants.Residual levelLow
R11

HelloAsso/Stripe webhook spoofing

Inherent levelHighMitigationHMAC signature verification on all incoming webhooks, anti-replay mechanism through event deduplication.Residual levelLow
R12

Compromise of a referee access link (no account)

Inherent levelModerateMitigationSigned token with short expiry, rate limiting on attempts, access logging.Residual levelLow
R13

Player enumeration via the public API

Inherent levelModerateMitigationOpaque non-predictable identifiers, rate limiting, PII masking for unauthenticated users, no exposed search by exact age.Residual levelLow
R14

Specific risk for minors' data (Art. 8 GDPR + WP 248)

Inherent levelCriticalMitigationMinimised data (age group rather than exact age), no promotional email, no profiling, dual consent for under-15s for image rights, continuous strengthening in consultation with our partner, the Ligue Bourgogne-Franche-Comté de pickleball.Residual levelModerate
R15

Data loss / unavailability (3rd GDPR pillar)

Inherent levelModerateMitigationEncrypted daily snapshots in the EU, RPO ≤ 24h, RTO ≤ 4h, multi-availability-zone redundancy (Dublin), documented restoration procedure.Residual levelLow

Risk acceptance

The residual risks above are jointly accepted by the data controller (Robin Cassard, founder of PickleDeck) and the DPO. Risks classified as Moderate or higher at residual level are subject to annual monitoring and an action plan documented internally.

References cited: GDPR Art. 35, EDPB guidelines WP 248 rev. 01, CNIL PIA method.

DPO: dpo@pickledeck.com · +33 6 24 37 93 07