diff --git a/CLAUDE.md b/CLAUDE.md index 4c2ff5e..d23a868 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -37,7 +37,7 @@ Target: PMI, Enterprise, Consulenti/CISO. - AI: Anthropic Claude API (claude-sonnet-4-5-20250929) - Server: Hetzner CPX31 (135.181.149.254) - VCS: Gitea (git.certisource.it) -- URL Produzione: https://nis2.certisource.it/ +- URL Produzione: https://nis2.agile.software/ ## Visibilita Cross-Project @@ -280,7 +280,7 @@ Schema: `docs/sql/` (9 migrazioni: 001→009) ### Cronologia Commit ``` 7080695 [FEAT] Ruolo Consulente + Wizard Registrazione v2 -ba21534 [DEPLOY] Migrazione a subdomain nis2.certisource.it +ba21534 [DEPLOY] Migrazione a subdomain nis2.agile.software 92f9366 Merge branch 'main' d3eac7c [CORE] Rimosso credenziali da CLAUDE.md + aggiunto docs/DB_ACCESS.md a0fd543 [CORE] Aggiunto settings Claude Code con permessi ampi @@ -295,7 +295,7 @@ bcc5a2b [FIX] E2E testing - fix router, EmailService, frontend data mapping ## API Endpoints Completi -Base: `/api/{controller}/{action}/{id?}` (su subdomain https://nis2.certisource.it/) +Base: `/api/{controller}/{action}/{id?}` (su subdomain https://nis2.agile.software/) ### Auth: POST register, login, logout, refresh, change-password | GET me | PUT profile ### Organizations: POST create, classify | GET current, list, {id}/members | PUT {id} | POST {id}/invite | DELETE {id}/members/{sid} @@ -341,7 +341,7 @@ Tutti i moduli sono implementati e testati: | **Browser** | https://certisource.it/dev-nis2-browser/ | | **Porte** | 8454 / 3046 / 3047 / 6091 | | **Password IDE** | Nis2AgileDev2026! | -| **Produzione** | https://nis2.certisource.it/ | +| **Produzione** | https://nis2.agile.software/ | ## Documentazione Commerciale diff --git a/application/controllers/ServicesController.php b/application/controllers/ServicesController.php index 3bf3db6..7efed30 100644 --- a/application/controllers/ServicesController.php +++ b/application/controllers/ServicesController.php @@ -724,7 +724,7 @@ class ServicesController extends BaseController 'license' => ['name' => 'Proprietary', 'url' => 'https://agile.software'], ], 'servers' => [ - ['url' => 'https://nis2.certisource.it', 'description' => 'Production'], + ['url' => 'https://nis2.agile.software', 'description' => 'Production'], ], 'security' => [ ['ApiKeyHeader' => []], diff --git a/docs/commercial/landing-nis2-agile.html b/docs/commercial/landing-nis2-agile.html index c117c2b..af4af96 100644 --- a/docs/commercial/landing-nis2-agile.html +++ b/docs/commercial/landing-nis2-agile.html @@ -670,7 +670,7 @@ Catalogo - + Accedi alla piattaforma @@ -692,7 +692,7 @@ Piattaforma SaaS multi-tenant per la compliance alla Direttiva NIS2 e D.Lgs. 138/2024. Gap analysis con 80 domande Art.21, risk management ISO 27005, incident response Art.23 e policy generate con Claude AI.

- + Accedi alla piattaforma @@ -723,7 +723,7 @@
- nis2.certisource.it — Dashboard + nis2.agile.software — Dashboard
@@ -984,7 +984,7 @@ Accedi alla piattaforma o richiedi una demo guidata con il nostro team.

-
Presentazione Commerciale · Febbraio 2026 · nis2.certisource.it
+
Presentazione Commerciale · Febbraio 2026 · nis2.agile.software
@@ -702,7 +702,7 @@ - + @@ -762,7 +762,7 @@ - + @@ -822,7 +822,7 @@ - + @@ -880,7 +880,7 @@ - + @@ -913,7 +913,7 @@ - + @@ -961,7 +961,7 @@ - + @@ -1033,7 +1033,7 @@ - + @@ -1075,7 +1075,7 @@
Production Deploy + E2E Testing Completato
@@ -1109,7 +1109,7 @@
- + @@ -1122,11 +1122,11 @@
La compliance NIS2
inizia oggi.
NIS2 Agile è pronto in produzione, audit-ready e scalabile. Con AI integrata, sicurezza by design e copertura completa degli obblighi D.Lgs. 138/2024, riduce il tempo di compliance dell'80% rispetto alle alternative manuali.
-
Accedi alla Piattaforma → + Accedi alla Piattaforma →
Piattaforma - nis2.certisource.it + nis2.agile.software
Versione diff --git a/docs/commercial/scheda-commerciale.html b/docs/commercial/scheda-commerciale.html index b8a9ed7..8a9b8e0 100644 --- a/docs/commercial/scheda-commerciale.html +++ b/docs/commercial/scheda-commerciale.html @@ -486,7 +486,7 @@ @@ -447,7 +447,7 @@
3
API REST — Endpoint Principali
-

Base URL: https://nis2.certisource.it/api/{controller}/{action}/{id?} — Auth: Bearer JWT + X-Organization-Id header

+

Base URL: https://nis2.agile.software/api/{controller}/{action}/{id?} — Auth: Bearer JWT + X-Organization-Id header

@@ -590,7 +590,7 @@
Cloud SaaS
diff --git a/public/docs/api.html b/public/docs/api.html index 57423ea..c3a9f93 100644 --- a/public/docs/api.html +++ b/public/docs/api.html @@ -161,14 +161,14 @@

API REST per integrare NIS2 Agile con SIEM, GRC, piattaforme ESG e strumenti di compliance.

- v1.0.0 — Produzione: https://nis2.certisource.it/ + v1.0.0 — Produzione: https://nis2.agile.software/

Panoramica

NIS2 Agile espone due famiglie di API: Services API per lettura dati di compliance in tempo reale, e Webhook API per notifiche push su eventi NIS2.

-
Base URL: https://nis2.certisource.it/api
+
Base URL: https://nis2.agile.software/api
Rate Limiting: Services API: 100 richieste/ora per API Key. Webhook delivery: max 1000/ora per subscription.
@@ -682,7 +682,7 @@ if not hmac.compare_digest(expected, received):
NIS2 Agile API Reference v1.0.0 — © 2026 CertiSource Srl — - nis2.certisource.it + nis2.agile.software
diff --git a/public/integrations/allrisk.html b/public/integrations/allrisk.html index 5007fd6..b60522b 100644 --- a/public/integrations/allrisk.html +++ b/public/integrations/allrisk.html @@ -80,7 +80,7 @@ $apiKey = getenv('NIS2_API_KEY'); $orgId = getenv('NIS2_ORG_ID'); -$baseUrl = 'https://nis2.certisource.it/api'; +$baseUrl = 'https://nis2.agile.software/api'; $allriskOrgId = getenv('ALLRISK_ORG_ID'); // Fetch rischi HIGH/CRITICAL aperti da NIS2 diff --git a/public/integrations/lg231.html b/public/integrations/lg231.html index 83fb267..863283e 100644 --- a/public/integrations/lg231.html +++ b/public/integrations/lg231.html @@ -92,7 +92,7 @@ $apiKey = getenv('NIS2_API_KEY'); // nis2_abc123... $orgId = getenv('NIS2_ORG_ID'); -$baseUrl = 'https://nis2.certisource.it/api'; +$baseUrl = 'https://nis2.agile.software/api'; function nis2Get(string $endpoint, array $query = []): array { global $apiKey, $orgId, $baseUrl; @@ -172,7 +172,7 @@ http_response_code(200); NIS2 Compliance (Preview widget)
- nis2.certisource.it + nis2.agile.software
73%
@@ -191,7 +191,7 @@ http_response_code(200); <div id="nis2-widget"></div> <script> (async () => { - const r = await fetch('https://nis2.certisource.it/api/services/compliance-summary', { + const r = await fetch('https://nis2.agile.software/api/services/compliance-summary', { headers: { 'X-API-Key': 'nis2_YOUR_KEY', 'X-Organization-Id': 'YOUR_ORG_ID' diff --git a/public/integrations/sustainai.html b/public/integrations/sustainai.html index 515d1b7..71f6b24 100644 --- a/public/integrations/sustainai.html +++ b/public/integrations/sustainai.html @@ -84,7 +84,7 @@ $apiKey = getenv('NIS2_API_KEY'); $orgId = getenv('NIS2_ORG_ID'); -$base = 'https://nis2.certisource.it/api'; +$base = 'https://nis2.agile.software/api'; $headers = [ 'X-API-Key: ' . $apiKey, @@ -123,7 +123,7 @@ EsgKpiService::updateCyberGovernance([
<!-- SustainAI: sezione Governance → Cybersecurity KPIs -->
 <div id="nis2-esg-widget" style="padding:20px; border:1px solid #e2e8f0; border-radius:8px; background:#f0fdf4;"></div>
 <script>
-fetch('https://nis2.certisource.it/api/services/compliance-summary', {
+fetch('https://nis2.agile.software/api/services/compliance-summary', {
   headers: { 'X-API-Key': 'nis2_YOUR_KEY', 'X-Organization-Id': 'ORG_ID' }
 }).then(r => r.json()).then(({ data }) => {
   document.getElementById('nis2-esg-widget').innerHTML = `
@@ -141,7 +141,7 @@ fetch('https://nis2.certisource.it/api/services/compliance-summary', {
         <div style="font-size:.7rem; color:#64748b;">Incidenti Art.23</div></div>
     </div>
     <p style="font-size:.7rem; color:#94a3b8; margin-top:12px; text-align:right;">
-      Fonte: NIS2 Agile — nis2.certisource.it — Aggiornato: ${new Date().toLocaleDateString('it')}
+      Fonte: NIS2 Agile — nis2.agile.software — Aggiornato: ${new Date().toLocaleDateString('it')}
     </p>`;
 });
 </script>
diff --git a/simulate-nis2.php b/simulate-nis2.php index d68b452..ce25cee 100644 --- a/simulate-nis2.php +++ b/simulate-nis2.php @@ -37,8 +37,8 @@ define('IS_WEB', !IS_CLI); // URL base API — rileva automaticamente ambiente if (IS_CLI) { - // Sul server Hetzner: Apache serve /var/www/nis2-agile su https://nis2.certisource.it/ - define('API_BASE', getenv('NIS2_API_BASE') ?: 'https://nis2.certisource.it/api'); + // Sul server Hetzner: Apache serve /var/www/nis2-agile su https://nis2.agile.software/ + define('API_BASE', getenv('NIS2_API_BASE') ?: 'https://nis2.agile.software/api'); } else { // In web: usa URL relativo allo stesso host $proto = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';