k0nsult.cloud / ai-truth / ipIII / orchestrator / dev-api-reference
Dev / API Reference — co ipIII realnie udostępnia programiście
Ta strona jest przeznaczona dla developera/integratora, nie dla zarządu. Opisuje faktyczny stan
kodu w repozytorium K0NSULT (API, konektory, moduły backendu, MCP) — nie architekturę docelową. Każdy element
ma status LIVE (publiczny read-path), LIVE (auth-gated)
(wymaga tokena), MVP, SIMULATION lub
ROADMAP. Doktryna: claim ≤ proof — jeśli endpoint tu nie występuje,
nie zakładaj że istnieje.
Zakres tej strony. Techniczna referencja API/konektorów/modułów. Dla decyzji biznesowej/regulacyjnej
użyj
CISO board pack lub
rejestru
ograniczeń. Ta strona nie stanowi SLA ani gwarancji dostępności — kontrakt referencyjny, nie umowa.
60 endpointów opisanych · 24 moduły backendu · 4 warstwy feature-flag · 1 MCP connector (ogólny, nie ipIII-scoped)
Trzon: import findingów (13 formatów) → normalizacja → ip3_incidents + ip3_evidence
(PostgreSQL) → workflow remediacji z SLA → evidence-package (hash+chain-of-custody, opcjonalny podpis) →
eksport do ticketingu/audytu. Warstwa v1 (/api/ip3/v1) ma realną persystencję i JWT/RBAC;
warstwa demo (/api/ip3) jest efemerycznym mirrorem w pamięci do testów integracyjnych bez bazy.
PRZEPŁYW:
import (MEDIA_SIGNAL)→incydent+evidence→workflow (assign/transition)→close (wymaga CONFIRMED)→evidence-package→ticket/audit export
1. API read-path (SIMULATION, publiczne) — bez logowania
Endpointy montowane bezpośrednio w server.js. Dane demonstracyjne/syntetyczne, oznaczone
jawnie source:"simulation" lub "reference". Nie wymagają tokena — służą do podglądu
kontraktu i budowy widoków publicznych (dashboard, hub).
| Endpoint | Metoda | Opis | Status |
/api/ip3/incidents | GET | Lista incydentów demo, filtr severity/status/group, agregaty by_severity/gap_pct. | LIVE source: simulation |
/api/ip3/incidents/:id | GET | Szczegóły pojedynczego incydentu demo. | LIVE source: simulation |
/api/ip3/stats | GET | Agregaty by_severity/by_group/by_evidence_status, gap_pct. | LIVE source: simulation |
/api/ip3/playbooks | GET | Kuratorowana biblioteka referencyjna wzorców reagowania (12 grup incydentów). | LIVE source: reference |
/api/ip3/playbooks/:type | GET | Szczegóły playbooka po typie incydentu + link do strony. | LIVE |
/ai-truth/ipIII/status.json | GET | Status modułu, doktryna, statusy dowodowe, moduły koncepcyjne. | LIVE |
/ai-truth/ipIII/pages.json | GET | Rejestr wszystkich stron ipIII (PL+EN) ze statusem produktu per strona. | LIVE |
/ai-truth/ipIII/openapi.json | GET | Kontrakt OpenAPI 3.1 (referencyjny, nie SLA) — read-path + wybrane v1. | LIVE |
/ai-truth/ipIII/sitemap.xml | GET | Sitemap wyłącznie stron indeksowalnych (status LIVE/MVP steruje wpisem). | LIVE |
/ai-truth/ipIII/seo-policy.json | GET | Polityka SEO/GEO modułu (co indeksowane, co noindex i dlaczego). | LIVE |
/ai-truth/ipIII/llms.txt | GET | Manifest dla modeli/agentów (GEO) — zakres modułu ipIII. | LIVE |
/llms.txt | GET | Manifest GEO na poziomie całego portalu k0nsult.cloud. | LIVE |
/ai-truth/ipIII/samples | GET | Lista publicznych przykładów syntetycznych (bez logowania). | LIVE |
/ai-truth/ipIII/samples/:file | GET | Pobranie przykładu (Burp/Nessus demo, evidence-package demo, board-pack demo PDF, Postman collection). | LIVE whitelist plików |
2. API v1 (auth-gated JWT/OIDC) — /api/ip3/v1
Warstwa profesjonalna: realna persystencja PostgreSQL, JWT (lub OIDC/JWKS za flagą IP3_OIDC),
RBAC (operator/analyst/auditor/admin), rate-limit, request_id na każdej odpowiedzi,
audit log w bazie. Bez DATABASE_URL zwraca 503 (nie udaje persystencji). Router:
routes/ip3-api-pro.js (850 linii).
2.1 Auth / tenancy status
| Endpoint | Metoda | Opis | Rola | Status |
/auth/login | POST | Login email+hasło (scrypt) → JWT 1h. | — | LIVE (auth-gated) |
/auth/me | GET | Zwraca principal (sub, role, org) z tokena. | dowolna rola | LIVE |
/auth/oidc-status | GET | Diagnostyka trybu OIDC (off/shadow/on), bez sekretów. | publiczny | LIVE |
/tenancy-status | GET | Diagnostyka izolacji multi-tenant (flaga IP3_TENANT_SCOPE). | publiczny | LIVE |
/orgs | GET | Lista organizacji. | dowolna rola | LIVE |
2.2 Incydenty (CRUD + evidence)
| Endpoint | Metoda | Opis | Rola | Status |
/incidents | GET | Lista z filtrem severity/status, scoping tenant. | dowolna rola | LIVE |
/incidents/:id | GET | Szczegóły + evidence powiązane, BOLA-safe (404 zamiast 403 dla obcego tenant). | dowolna rola | LIVE |
/incidents | POST | Utworzenie incydentu ręcznie (title/group/type/severity wymagane). | operator/analyst/admin | LIVE |
/incidents/:id | PATCH | Edycja title/description/severity. response_status/evidence_status celowo zablokowane tu (obejście reguły claim≤proof). | operator/analyst/admin | LIVE |
/incidents/:id/evidence | POST | Dodanie dowodu (hash z contentu lub podany), ustawia evidence_status=CONFIRMED przy pierwszym potwierdzonym. | operator/analyst/admin | LIVE |
/incidents/:id/close | POST | Zamknięcie — wymaga ≥1 evidence CONFIRMED (reguła close-with-evidence), inaczej 422. | operator/analyst/admin | LIVE |
/incidents/:id/reopen | POST | Ponowne otwarcie incydentu. | operator/analyst/admin | LIVE |
2.3 Kontekst decyzyjny (legal / TTP / coverage / controls)
| Endpoint | Metoda | Opis | Rola | Status |
/incidents/:id/legal-triggers | GET | Legal Trigger Engine: incydent → obowiązki DORA/NIS2/RODO/AI Act + zegary. Decision-support, nie porada prawna. | operator/analyst/auditor/admin | LIVE |
/incidents/:id/ttp | GET | Mapowanie na techniki MITRE ATT&CK (heurystyka, kuratorowana podmapa). | operator/analyst/auditor/admin | LIVE |
/incidents/:id/coverage | GET | Evidence Coverage Score — 6 wymiarów pokrycia dowodowego. NIE ocena bezpieczeństwa. | operator/analyst/auditor/admin | LIVE |
/incidents/:id/controls | GET | Mapowanie evidence→control (ISO27001/NIST-CSF/CIS/DORA/NIS2), heurystyka po typie/CWE/severity. | dowolna rola | LIVE |
2.4 Workflow remediacji + ticketing
| Endpoint | Metoda | Opis | Rola | Status |
/incidents/:id/assign | POST | Przypisanie ownera + SLA (P0=24h/P1=72h/P2=168h/P3=720h, nadpisywalne). | operator/analyst/admin | LIVE |
/incidents/:id/transition | POST | Lifecycle open→triaged→assigned→fixing→retest. closed wyłącznie przez /close. | operator/analyst/admin | LIVE |
/incidents/:id/ticket | GET | Builder payloadu Jira/GitHub/webhook. ?send=true włącza realną wysyłkę (za flagą transportu). | builder: operator/analyst/auditor/admin; wysyłka: operator/admin | LIVE (builder) / transport za flagą |
/connectors/transport-status | GET | Status flag transportu (GitHub/Jira/webhook) — bez ujawniania sekretów. | operator/analyst/auditor/admin | LIVE |
2.5 Importy / konektory (opis szczegółowy w sekcji 3)
Wszystkie poniżej zwracają 201 z connector_run (incidents_created,
deduplicated) i tworzą incydent+evidence ze statusem MEDIA_SIGNAL — sygnał narzędzia,
nie dowód naprawy. Dedup po hashu treści (idempotentny re-import). Rola: operator/analyst/admin.
| Endpoint | Format wejścia | Status |
POST /imports/generic | JSON {source_tool, findings[]} | LIVE |
POST /imports/burp | Burp Suite XML | LIVE |
POST /imports/zap | OWASP ZAP JSON lub XML | LIVE |
POST /imports/nessus | Nessus/Tenable CSV | LIVE |
POST /imports/csv | Generic CSV (title,severity,cve,cvss,type,host) | LIVE |
POST /imports/qualys | Qualys VM CSV lub XML | LIVE |
POST /imports/re | YARA JSON / radare2 / generic RE (post-RoE) | LIVE |
POST /imports/defectdojo | Eksport DefectDojo (results[] / findings[] / tablica) | LIVE |
POST /imports/sarif | SARIF 2.1 (CodeQL/Semgrep/GHAS) | LIVE |
POST /imports/sbom | SBOM CycloneDX/SPDX (vulnerabilities) | LIVE |
POST /imports/secrets | Gitleaks/TruffleHog/GH secret scanning (redakcja wartości) | LIVE |
POST /imports/cloud | Prowler/ScoutSuite/Checkov/Trivy (tylko status FAIL) | LIVE |
POST /tools/dedup | Deduplikacja cross-tool po fingerprincie (title|cve|host) | LIVE |
2.6 Statystyki / audyt
| Endpoint | Metoda | Opis | Rola | Status |
/stats | GET | Agregaty by_severity/by_status/gap z żywej bazy. | dowolna rola | LIVE |
/audit | GET | Ostatnie 200 zdarzeń audytowych. | auditor/admin | LIVE |
/audit/export | GET | Eksport audytu CSV/JSON (ostatnie 1000). | auditor/admin | LIVE |
/audit/chain/verify | GET | Weryfikacja spójności hash-chain audytu. 501 gdy IP3_AUDIT_CHAIN=off. | auditor/admin | LIVE za flagą shadow/on |
/_health | GET | Status warstwy v1 (czy DB podłączona). | publiczny | LIVE |
2.7 Raporty (evidence-package / podpis)
| Endpoint | Metoda | Opis | Rola | Status |
/reports/evidence-package/:id | GET | Board pack: incydent+evidence+audit_trail+manifest+package_sha256+chain-of-custody. ?format=pdf → realny PDF. ?sign=true → podpis HMAC jeśli skonfigurowany klucz. | operator/analyst/auditor/admin | LIVE |
/reports/verify-signature | POST | Weryfikacja podpisu pakietu (stały czas, HMAC). | auditor/admin | LIVE |
2.8 Engagements (DORA/TIBER white-team-log)
| Endpoint | Metoda | Opis | Rola | Status |
/engagements | POST / GET | Utworzenie/lista engagementów (scope, crown-jewels, RoE, framework domyślnie TIBER-EU). | POST: operator/admin · GET: dowolna rola | LIVE |
/engagements/:id | GET | Szczegóły + rejestr dowodów (evidence_register). | dowolna rola | LIVE |
/engagements/:id/log | POST | Wpis white-team-log / evidence-register / phase / finding. | operator/analyst/admin | LIVE |
/engagements/:id/final-report | POST | Raport końcowy — wymaga ≥1 wpisu evidence-register (claim≤proof), inaczej 422. | operator/admin | LIVE |
/engagements/:id/report-package | GET | Pakiet raportu TLPT: timeline+register+final+manifest+package_sha256. ?format=pdf dostępny. | operator/analyst/auditor/admin | LIVE |
Warstwa demo (/api/ip3, routes/ip3-demo-api.js). Osobny router mirror-uje pełny
kontrakt §6 (auth/incidents/findings-imports/evidence/retest/legal/dora/tiber/reports) w pamięci procesu
(bez PostgreSQL, bez trwałości między restartami). Przydatny do integracji/testów klienta bez zakładania konta
v1 — dane zawsze oznaczone source:"simulation". Montowany po endpointach read-path (pierwszeństwo
inline GET-ów), więc nie nadpisuje ich. Status: SIMULATION, produkcyjny
odpowiednik = warstwa v1 opisana wyżej.
3. Konektory / parsery — format wejścia i status
Wspólna zasada: parser = LIVE (realny kod, bez zależności npm, testowany), transport
wysyłkowy do systemów zewnętrznych (Jira/GitHub/webhook) = builder LIVE, realna wysyłka sieciowa
za flagą (potrójna bramka: ?send=true + IP3_<SYSTEM>_TRANSPORT=on + sekrety
klienta w fly secrets). Domyślnie transport = off, zero egress.
| Konektor | Moduł | Wejście | Status parsera |
| Burp Suite | ip3-parsers.js | XML | LIVE |
| OWASP ZAP | ip3-parsers.js | JSON / XML | LIVE |
| Nessus / Tenable | ip3-parsers.js | CSV | LIVE |
| Generic CSV | ip3-parsers.js | CSV z nagłówkami | LIVE |
| Qualys VM | ip3-parsers-ext.js | CSV / XML | LIVE |
| DefectDojo | ip3-defectdojo.js | JSON (results[]/findings[]/tablica) | LIVE |
| SARIF (CodeQL/Semgrep/GHAS) | ip3-sarif.js | SARIF 2.1 JSON | LIVE |
| SBOM (CycloneDX/SPDX) | ip3-sbom.js | JSON | LIVE |
| Secret scanning (Gitleaks/TruffleHog/GH) | ip3-secrets.js | JSON/NDJSON, redakcja wartości | LIVE |
| Cloud posture (Prowler/ScoutSuite/Checkov/Trivy) | ip3-cloud-posture.js | JSON, tylko FAIL | LIVE |
| Reverse engineering (YARA/radare2) | ip3-re.js | YARA JSON / generic RE JSON | LIVE defensywnie, po RoE |
| Dedup cross-tool | ip3-dedup.js | tablica findingów | LIVE |
| Transport GitHub Issues | ip3-transport.js | payload z ip3-ticketing.js | builder LIVE / wysyłka za flagą IP3_GITHUB_TRANSPORT |
| Transport Jira | ip3-transport.js | payload z ip3-ticketing.js | builder LIVE / wysyłka za flagą IP3_JIRA_TRANSPORT |
| Transport webhook | ip3-transport.js | JSON ip3.incident.v1 | builder LIVE / wysyłka za flagą IP3_WEBHOOK_TRANSPORT |
Każdy import = MEDIA_SIGNAL (sygnał narzędzia), nigdy dowód naprawy. Zamknięcie incydentu
zawsze wymaga osobnego kroku z evidence CONFIRMED — parser tego nie omija.
4. Moduły backendu (routes/ip3-*.js)
| Moduł | Rola | Status |
ip3-api-pro.js | Główny router v1 — auth/RBAC/rate-limit/audit + montaż wszystkich sekcji poniżej. | LIVE |
ip3-demo-api.js | Mirror kontraktu §6 w pamięci (bez DB) — testy integracyjne klienta. | SIMULATION |
ip3-parsers.js | Parsery Burp/ZAP/Nessus/generic CSV. | LIVE |
ip3-parsers-ext.js | Rozszerzenie — parser Qualys (CSV/XML). | LIVE |
ip3-sarif.js | Parser SARIF 2.1. | LIVE |
ip3-sbom.js | Parser SBOM CycloneDX/SPDX (CRA-alignment). | LIVE |
ip3-secrets.js | Parser skanerów sekretów, redakcja wartości. | LIVE |
ip3-cloud-posture.js | Parser postury chmury (Prowler/ScoutSuite/Checkov/Trivy). | LIVE |
ip3-defectdojo.js | Parser eksportu DefectDojo (most AppSec). | LIVE |
ip3-re.js | Parser findingów RE/malware (YARA/radare2/generic). | LIVE |
ip3-dedup.js | Silnik deduplikacji cross-tool (fingerprint title|cve|host). | LIVE |
ip3-enrich.js | Wzbogacanie CVE offline (CVSS/KEV/EPSS hint ze statycznego seedu). | LIVE offline-seed |
ip3-mitre.js | Kuratorowana podmapa MITRE ATT&CK + heurystyka mapowania. | LIVE |
ip3-control-map.js | Mapowanie evidence→control (ISO27001/NIST-CSF/CIS/DORA/NIS2). | LIVE |
ip3-legal.js | Legal Trigger Engine (obowiązki + zegary). Decision-support. | LIVE |
ip3-ticketing.js | Buildery payloadów Jira/GitHub Issues (nie wysyłają). | LIVE |
ip3-transport.js | Realny transport (GitHub/Jira/webhook) za potrójną bramką flag. | LIVE wysyłka: ROADMAP domyślnie off |
ip3-oidc.js | Walidacja OIDC (RS256+JWKS), tryb off/shadow/on. | MVP shadow na staging |
ip3-tenancy.js | Izolacja multi-tenant warstwa 1 (scoping org_id), tryb off/on. | MVP warstwa 1 z 2 (RLS = ROADMAP) |
ip3-audit-chain.js | Niezmienny (tamper-evident) log audytowy jako hash-chain, tryb off/shadow/on. | MVP shadow na staging |
ip3-audit-export.js | Formatter audit log → CSV/JSON (czysta funkcja, bez DB). | LIVE |
ip3-pdf.js | Bezzależnościowy generator PDF (Helvetica, paginacja) — board pack. | LIVE |
ip3-input-guards.js | Biblioteka guardów wejścia (CSV/formula injection, XXE, oversize). Nie wpięta do routera — dostępna jako moduł. | ADDITIVE, wiring = ROADMAP |
ip3-schema.js | Generatory JSON-LD (breadcrumb/FAQ/Article) dla SEO stron ipIII. | LIVE |
ip3-seo.js | Sitemap/seo-policy/llms.txt — kanon pages.json steruje indeksacją. | LIVE |
5. Warstwy backend za flagami (F1–F4)
Każda warstwa jest additive (nowa tabela/pole obok istniejących, zero zmian domyślnego
zachowania) i sterowana zmienną środowiskową z trzema trybami: off (dziś domyślnie na prod) →
shadow (loguje/waliduje równolegle, nie zmienia dostępu) → on (egzekwuje).
| Warstwa | Flaga (env) | Co robi | Stan dziś |
| F1 — OIDC | IP3_OIDC | Walidacja tokenu OIDC (RS256+JWKS) obok JWT lokalnego; docelowo Keycloak/IdP zewnętrzny. | shadow — staging |
| F2 — hash-chain + podpis | IP3_AUDIT_CHAIN, IP3_SIGNING_KEY | Tamper-evident log audytowy (modyfikacja wykrywalna, nie „nieusuwalna"); opcjonalny podpis HMAC pakietu evidence. | shadow — prod bez klucza: sygnatura niedostępna, jawna nota |
| F3 — tenancy warstwa 1 | IP3_TENANT_SCOPE | Scoping zapytań po org_id w warstwie aplikacji (app-level). Warstwa 2 (PostgreSQL RLS) = ROADMAP. | off/on — staging (w1) |
| F4 — transport | IP3_GITHUB_TRANSPORT, IP3_JIRA_TRANSPORT, IP3_WEBHOOK_TRANSPORT | Realna wysyłka ticketów (GitHub Issues/Jira/webhook) — potrójna bramka: intencja + flaga + sekrety. | off domyślnie — staging test |
Sekrety wymagane do działania warstwy v1: JWT_SECRET (fail-closed bez niego — brak
fallbacku na znany sekret), DATABASE_URL (PostgreSQL), opcjonalnie IP3_SEED_PASS
(tworzy konta demo tylko gdy ustawiony jawnie).
6. MCP (Model Context Protocol)
Uczciwie: dziś nie ma dedykowanego /api/ip3/mcp. Istnieje jeden ogólny connector MCP na
poziomie całego węzła K0NSULT pod adresem /mcp (nie w namespace ipIII). Zestaw narzędzi
ipIII-scoped (list_incidents/stats/playbooks/doctrine)
nie istnieje jeszcze w kodzie — to ROADMAP, nie funkcja LIVE.
6.1 Co jest LIVE dziś: /mcp (ogólny connector, read-only)
Streamable HTTP / JSON-RPC 2.0, bez autoryzacji, dane z żywej bazy (rejestr agentów K0NSULT,
nie dane ipIII). Zaimplementowane w server.js.
| Metoda JSON-RPC | Narzędzie (tool) | Opis | Status |
initialize | — | Handshake protokołu (protocolVersion 2024-11-05). | LIVE |
tools/list | — | Zwraca listę 3 narzędzi poniżej. | LIVE |
tools/call | k0nsult_status | Liczba agentów w rejestrze (live z bazy) + znacznik czasu. | LIVE |
tools/call | list_agents | Lista agentów (nazwa/model/provider/poziom ryzyka), limit domyślnie 50/max 250. | LIVE |
tools/call | query_agents | Filtr agentów po nazwie/modelu/providerze/poziomie ryzyka. | LIVE |
Jak podpiąć jako serwer MCP (np. Mistral le Chat / Claude Desktop) dziś: dodaj serwer typu
Streamable HTTP pod adresem https://k0nsult.cloud/mcp (metoda POST, brak nagłówka autoryzacji
wymaganego). To connector rejestru agentów K0NSULT — nie ma dostępu do incydentów/evidence ipIII.
POST https://k0nsult.cloud/mcp
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
6.2 ROADMAP: MCP scoped do ipIII
Zestaw narzędzi tego samego wzorca (list_incidents, stats,
playbooks, doctrine) zasilany z /api/ip3/incidents i
/api/ip3/stats (read-path, SIMULATION) jest zaplanowany, ale nieobecny w kodzie. Nie mylić
z osobną, planowaną stroną MCP/Tool Poisoning Scanner (F9 AI-security
— inwentaryzacja i wykrywanie zatruwania narzędzi MCP u agentów klienta, inny cel: kontrola bezpieczeństwa
agentów AI, nie connector danych ipIII). Obie linie są odrębne i nie należy ich mylić.
7. Rejestry maszynowe
| Rejestr | URL | Cel | Status |
| Strony modułu | /ai-truth/ipIII/pages.json | Wszystkie strony PL+EN ze statusem produktu (LIVE/DANE/MVP/ROADMAP/SIMULATION/NOINDEX). | LIVE |
| Kontrakt API | /ai-truth/ipIII/openapi.json | OpenAPI 3.1 referencyjny — read-path + wybrane v1, z jawnym x-status per operacja. | LIVE |
| Sitemap | /ai-truth/ipIII/sitemap.xml | Wyłącznie strony indeksowalne — kanon pages.json steruje wpisem. | LIVE |
| Manifest GEO (moduł) | /ai-truth/ipIII/llms.txt | Opis dla modeli/agentów czytających portal — zakres ipIII. | LIVE |
| Manifest GEO (portal) | /llms.txt | Opis całego węzła k0nsult.cloud. | LIVE |
| Polityka SEO | /ai-truth/ipIII/seo-policy.json | Co indeksowane, co noindex i uzasadnienie (ROADMAP/SIMULATION nigdy w sitemap). | LIVE |
Szybki start dla integratora
1. Uwierzytelnij się: POST /api/ip3/v1/auth/login z email+hasłem konta demo (wymaga IP3_SEED_PASS ustawionego przez operatora środowiska) → JWT ważny 1h.
2. Zaimportuj raport skanera: POST /api/ip3/v1/imports/<narzędzie> (np. burp, sarif, defectdojo) z nagłówkiem Authorization: Bearer <token>.
3. Dodaj dowód potwierdzający naprawę: POST /incidents/:id/evidence, następnie zamknij: POST /incidents/:id/close (blokowane bez evidence CONFIRMED).
4. Wygeneruj board pack: GET /reports/evidence-package/:id?format=pdf — hash package_sha256 w nagłówku X-Package-Sha256.
curl -s https://k0nsult.cloud/api/ip3/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"operator@ip3.demo","password":"<IP3_SEED_PASS>"}'
curl -s https://k0nsult.cloud/api/ip3/v1/reports/evidence-package/IP3-2026-0001 \
-H "Authorization: Bearer <token>"
Ta strona nie zastępuje kontraktu OpenAPI. Dla maszynowego parsowania użyj
/openapi.json. Ta strona jest czytelnym indeksem dla człowieka —
developera oceniającego integrację, nie SLA ani dokumentem prawnym.
Granica etyczna i prawna. ipIII jest narzędziem obrony i zgodności (GRC/blue). Konektory importują
wyniki narzędzi już posiadanych przez klienta (Burp/ZAP/Nessus/Qualys/SARIF/SBOM/DefectDojo/RE) — nie
wykonują skanów ani exploitacji. Legal Trigger Engine oraz mapowania obowiązków to wsparcie decyzji,
nie porada prawna; kwalifikacja przez radcę/kancelarię przed wysyłką do organu.
Powiązane: pełna roadmapa 7 sprintów z dowodami → /roadmap-dev ·
rejestr znanych ograniczeń → /known-limitations ·
macierz statusów wszystkich elementów → /status-matrix ·
interaktywny eksplorator API → /api-explorer.