[DOCS] CLAUDE.md aggiornato sprint Services/Webhook/Whistleblowing/Normative
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
a8ef41dc35
commit
b23bbc55fd
23
CLAUDE.md
23
CLAUDE.md
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
## PRIMA DI INIZIARE
|
## PRIMA DI INIZIARE
|
||||||
- Leggi sempre questo file prima di iniziare qualsiasi lavoro
|
- Leggi sempre questo file prima di iniziare qualsiasi lavoro
|
||||||
- Il progetto e' al **100% di completamento** (24.000+ righe di codice, 50+ file sorgente)
|
- Il progetto e' al **100% di completamento + Sprint Services/Webhook/Whistleblowing** (~30.000 righe, 75+ file sorgente)
|
||||||
- 7 commit su main, tutto deployato e testato su Hetzner
|
- 9 commit su main, tutto deployato e testato su Hetzner
|
||||||
- E2E test completati, bug fixing, Docker verificato, UI polished
|
- E2E test completati, bug fixing, Docker verificato, UI polished
|
||||||
> 3. `docs/CONTEXT_LAST_SESSION.md` - **Contesto ultima sessione (continuita cross-browser)**
|
> 3. `docs/CONTEXT_LAST_SESSION.md` - **Contesto ultima sessione (continuita cross-browser)**
|
||||||
>
|
>
|
||||||
@ -111,7 +111,7 @@ nis2.agile/
|
|||||||
│ │ ├── config.php # Costanti app, CORS, JWT, AI, rate limiting
|
│ │ ├── config.php # Costanti app, CORS, JWT, AI, rate limiting
|
||||||
│ │ ├── database.php # Classe Database (PDO singleton)
|
│ │ ├── database.php # Classe Database (PDO singleton)
|
||||||
│ │ └── env.php # Caricamento .env
|
│ │ └── env.php # Caricamento .env
|
||||||
│ ├── controllers/ # 15 controller (tutti implementati 100%)
|
│ ├── controllers/ # 19 controller (tutti implementati 100%)
|
||||||
│ │ ├── BaseController.php # Auth JWT, multi-tenancy, JSON responses (576 righe)
|
│ │ ├── BaseController.php # Auth JWT, multi-tenancy, JSON responses (576 righe)
|
||||||
│ │ ├── AdminController.php # Gestione piattaforma (super_admin)
|
│ │ ├── AdminController.php # Gestione piattaforma (super_admin)
|
||||||
│ │ ├── AssessmentController.php # Gap analysis e questionari NIS2 (80 domande)
|
│ │ ├── AssessmentController.php # Gap analysis e questionari NIS2 (80 domande)
|
||||||
@ -126,12 +126,17 @@ nis2.agile/
|
|||||||
│ │ ├── PolicyController.php # Policy, approvazione, AI generation
|
│ │ ├── PolicyController.php # Policy, approvazione, AI generation
|
||||||
│ │ ├── RiskController.php # Risk register, trattamenti, matrice, AI suggest
|
│ │ ├── RiskController.php # Risk register, trattamenti, matrice, AI suggest
|
||||||
│ │ ├── SupplyChainController.php # Fornitori, valutazione, risk overview
|
│ │ ├── SupplyChainController.php # Fornitori, valutazione, risk overview
|
||||||
│ │ └── TrainingController.php # Corsi, assegnazioni, compliance formativa
|
│ │ ├── TrainingController.php # Corsi, assegnazioni, compliance formativa
|
||||||
│ ├── services/ # 5 servizi
|
│ │ ├── ServicesController.php # Services API (read-only, API Key + scope)
|
||||||
|
│ │ ├── WebhookController.php # CRUD api_keys + webhook_subscriptions
|
||||||
|
│ │ ├── WhistleblowingController.php # Segnalazioni anonime Art.32 NIS2
|
||||||
|
│ │ └── NormativeController.php # Feed NIS2/ACN/DORA con ACK tracciato
|
||||||
|
│ ├── services/ # 6 servizi
|
||||||
│ │ ├── AIService.php # Anthropic Claude API (gap, risk, policy, incident)
|
│ │ ├── AIService.php # Anthropic Claude API (gap, risk, policy, incident)
|
||||||
│ │ ├── EmailService.php # Email CSIRT, training, welcome, invite
|
│ │ ├── EmailService.php # Email CSIRT, training, welcome, invite
|
||||||
│ │ ├── RateLimitService.php # Rate limiting file-based
|
│ │ ├── RateLimitService.php # Rate limiting file-based
|
||||||
│ │ ├── ReportService.php # Report esecutivo HTML, export CSV
|
│ │ ├── ReportService.php # Report esecutivo HTML, export CSV
|
||||||
|
│ │ ├── WebhookService.php # Delivery webhook HMAC-SHA256, retry 3x
|
||||||
│ │ └── VisuraService.php # AI extraction PDF visura + CertiSource API
|
│ │ └── VisuraService.php # AI extraction PDF visura + CertiSource API
|
||||||
│ ├── models/ # (vuoto - logica nei controller)
|
│ ├── models/ # (vuoto - logica nei controller)
|
||||||
│ └── data/
|
│ └── data/
|
||||||
@ -204,10 +209,10 @@ nis2.agile/
|
|||||||
3. **Login** → se ha org → `dashboard.html`, altrimenti → `onboarding.html`
|
3. **Login** → se ha org → `dashboard.html`, altrimenti → `onboarding.html`
|
||||||
4. **Dashboard** → navigazione sidebar a tutti i moduli
|
4. **Dashboard** → navigazione sidebar a tutti i moduli
|
||||||
|
|
||||||
## Database (22 tabelle)
|
## Database (29 tabelle)
|
||||||
organizations, users, user_organizations, refresh_tokens, assessments, assessment_responses, risks, risk_treatments, incidents, incident_timeline, policies, suppliers, training_courses, training_assignments, assets, compliance_controls, evidence_files, audit_logs, ai_interactions, email_log, non_conformities, corrective_actions
|
organizations, users, user_organizations, refresh_tokens, assessments, assessment_responses, risks, risk_treatments, incidents, incident_timeline, policies, suppliers, training_courses, training_assignments, assets, compliance_controls, evidence_files, audit_logs, ai_interactions, email_log, non_conformities, corrective_actions
|
||||||
|
|
||||||
Schema: `docs/sql/` (6 migrazioni: 001→006)
|
Schema: `docs/sql/` (9 migrazioni: 001→009)
|
||||||
|
|
||||||
## Servizi
|
## Servizi
|
||||||
|
|
||||||
@ -284,6 +289,10 @@ Base: `/api/{controller}/{action}/{id?}` (su subdomain https://nis2.certisource.
|
|||||||
### Onboarding: POST upload-visura, fetch-company, complete
|
### Onboarding: POST upload-visura, fetch-company, complete
|
||||||
### Admin: GET organizations, users, stats
|
### Admin: GET organizations, users, stats
|
||||||
### NCR/CAPA: GET list, {id}, stats | POST create, fromAssessment, {id}/capa, {id}/sync, webhook | PUT {id}, capa/{subId}
|
### NCR/CAPA: GET list, {id}, stats | POST create, fromAssessment, {id}/capa, {id}/sync, webhook | PUT {id}, capa/{subId}
|
||||||
|
### Services API (X-API-Key): GET status, compliance-summary, risks-feed, incidents-feed, controls-status, assets-critical, suppliers-risk, policies-approved, openapi
|
||||||
|
### Webhooks: GET api-keys, subscriptions, deliveries | POST api-keys, subscriptions, subscriptions/{id}/test, retry | PUT subscriptions/{id} | DELETE api-keys/{id}, subscriptions/{id}
|
||||||
|
### Whistleblowing: POST submit, {id}/assign, {id}/close | GET list, {id}, stats, track-anonymous | PUT {id}
|
||||||
|
### Normative: GET list, {id}, pending, stats | POST {id}/ack, create
|
||||||
|
|
||||||
## Stato Completamento
|
## Stato Completamento
|
||||||
Tutti i moduli sono implementati e testati:
|
Tutti i moduli sono implementati e testati:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user