← Sicurezza

Internal Access Policy — accesso staff Hydradent ai dati cliente

Riferimento normativo: art. 32 par. 4 GDPR (misure tecniche e organizzative); DPA art. 28 par. 3 lett. b (confidenzialità).

Versione: 1.0 Data: 2026-05-19 Owner: founder MindBitLabs (fino a designazione DPO). Visibilità: pubblica (questo documento è linkato da /sicurezza).


1. Principio

Lo staff Hydradent non accede ai dati prod dei clienti se non per una delle 5 ragioni autorizzate elencate sotto. Ogni accesso è loggato in internalAccessLog (tabella Convex append-only, visibile in tempo reale al titolare dello studio in /impostazioni/sicurezza).

L'accesso "casuale" / "esplorativo" / "per curiosità" è vietato. Violazioni sono motivo di azione disciplinare immediata + segnalazione al Garante se ricorrono condizioni art. 33 GDPR.


2. Stato attuale

Headcount: 1 (founder Andrea Porzi). NDA: vincolante per accesso a sistemi Hydradent (auto-firmato). Background check: non applicabile (founder). Training GDPR: completato 2026-05 (autodidatta + checklist Garante).

Quando assumeremo (primo dipendente):

  • Firma NDA + privacy policy interna prima di credenziali Convex
  • Training GDPR + questa policy entro 7 giorni dall'onboarding
  • Accesso Convex Dashboard con MFA + IP allowlist
  • Accesso prod con just-in-time approval (founder approva per ticket aperto)

3. Ragioni autorizzate di accesso

3.1 Support ticket aperto dal cliente

Trigger: cliente apre ticket via email/UI con riferimento esplicito. Scope: solo l'org del cliente che ha aperto il ticket. Logging: internalAccessLog._log({ orgId, action: "read_X", reason: "Support ticket #4521 — descrizione problema", ticketRef: "support#4521" }) Durata: l'accesso si chiude alla risoluzione del ticket. Re-accesso = nuovo log.

3.2 Debugging incident produzione

Trigger: Sentry alert / errore 5xx / report bug critico. Scope: solo org/utente coinvolti nell'errore (dal stack trace Sentry). Logging: _log({ action: "debug_session", reason: "Sentry alert ABC123 — errore 500 in mutation patients.create", ticketRef: "sentry-XXX" }) Limite: max 4h continue. Oltre richiede approvazione esplicita founder.

3.3 Security audit / vulnerability investigation

Trigger: bug disclosure, pen test, security review interna. Scope: il minimo necessario. Logging: _log({ action: "security_audit", reason: "Audit interno trimestrale — verifica gdpr cascade delete" })

3.4 Migrazione dati pre-import

Trigger: cliente richiede import dati da altro gestionale. Scope: solo dati che il cliente ha esplicitamente caricato per migrazione. Logging: _log({ action: "read_other", reason: "Migrazione da OrisDent — validation CSV" })

3.5 Conformità legale obbligatoria

Trigger: ordine autorità (giudice, Garante, Guardia di Finanza), data breach. Scope: come richiesto dall'autorità. Logging: _log({ action: "read_other", reason: "Ordine autorità: [riferimento]" }) Notifica: il titolare studio è notificato entro 24h dall'esecuzione dell'ordine (a meno di obbligo di segretezza imposto dall'autorità).


4. Ragioni NON autorizzate

❌ Curiosità ("voglio vedere come uno studio reale usa Hydradent") ❌ Demo a clienti potenziali su dati reali (use case → demo separato) ❌ Statistiche commerciali ("quanti pazienti hanno gli studi Solo vs Studio") — usa aiUsageMonthly aggregati anonimi ❌ Test feature nuove ("provo il viewer DICOM su una foto del cliente X") ❌ Analytics di prodotto sui contenuti — usa Sentry breadcrumb pseudonimizzati ❌ Sharing con investitori, consulenti, partner ❌ Backup locale sul laptop (per nessun motivo)


5. Tecnologia

5.1 Tooling autorizzato per accesso prod

  • Convex Dashboard (https://dashboard.convex.dev/d/qualified-echidna-565): MFA obbligatorio, sessione 1h.
  • Convex CLI (npx convex run per debug query): limitato a comandi documentati.
  • Backblaze Console: solo per debugging storage. Mai download massivo.

5.2 Tooling vietato

  • ❌ Connessione diretta al DB Convex via API bypass
  • ❌ Export massivo dati paziente in locale
  • ❌ Screenshot di dati cliente per qualsiasi documentazione interna
  • ❌ Copia/incolla dati cliente in tool esterni (Slack, ChatGPT, ecc.)

5.3 Workstation

  • Laptop staff Hydradent: disk encryption obbligatorio (FileVault macOS / BitLocker Windows / LUKS Linux)
  • OS aggiornato all'ultima security patch
  • Antivirus enterprise grade
  • Password manager 1Password / Bitwarden + MFA
  • Schermo locked auto dopo 5 min idle

6. Audit

6.1 Self-audit founder

  • Mensile: review internalAccessLog di tutte le org
  • Trimestrale: verifica che ogni entry abbia ticket ref valido
  • Annuale: aggiornamento questa policy + DPIA

6.2 Audit cliente

Il titolare studio può:

  • Vedere internalAccessLog propria org in tempo reale (/impostazioni/sicurezza)
  • Richiedere export completo log della propria org via email
  • Contestare entry con ragione non plausibile → response Hydradent entro 5gg lavorativi

6.3 Audit esterno

  • ISO 27001 audit annuale (pianificato 2027+, post Stripe activation)
  • Pen test trimestrale (pianificato 2027+)

7. Sanzioni interne

Violazione di questa policy comporta:

  1. Prima volta: warning formale + retraining
  2. Seconda volta: sospensione accesso prod + investigation
  3. Terza volta + grave: terminazione contratto + denuncia al Garante se art. 33 ricorre

Tutto questo è vacuo finché Hydradent ha 1 persona (founder). Diventerà operativo all'assunzione del primo dipendente.


8. Onboarding nuovo membro staff

Checklist al primo giorno:

  1. ☐ Firma NDA + questa policy + privacy policy interna
  2. ☐ Account Clerk + MFA setup
  3. ☐ Account Convex Dashboard con role "member" (non admin)
  4. ☐ Password manager personale obbligatorio
  5. ☐ Training GDPR 1h (slides + Q&A)
  6. ☐ Lettura docs/compliance/*.md (questa policy + DPIA + Data breach procedure)
  7. ☐ Lettura docs/PROJECT_OVERVIEW.md (architettura tecnica)
  8. ☐ Buddy senior assegnato per primi 30gg per supervisione accessi

9. Offboarding

Al termine rapporto:

  1. ☐ Revoca account Convex (immediato)
  2. ☐ Revoca account Clerk (immediato)
  3. ☐ Revoca chiavi sub-processor (Backblaze, Resend, ecc.)
  4. ☐ Esecuzione last login audit per ricostruire ultimi accessi
  5. ☐ Restituzione hardware aziendale
  6. ☐ NDA resta vigente 3 anni post termination

10. Modifiche

Versione Data Modifiche
1.0 2026-05-19 Prima redazione formale. Single-founder stage.
Questo documento è il source-of-truth canonical in docs/compliance/INTERNAL_ACCESS_POLICY.md. Storico modifiche tracciato via commit Git nel repository Hydradent (su richiesta del cliente per audit, supplabile come export PDF firmato).