CTI Platform

29Entries/24h2Critical

Settings

Prototype — appearance only

Appearance

Dark is the default. The choice is stored in this browser only.

Data source

Mode
Mocked
API base
(same origin — Next.js route handlers)
API prefix
/api/v1
Reference time
2026-08-03T09:14:00Z

All records are generated deterministically from a fixed seed, so every reload produces identical data. Nothing is persisted and nothing leaves the browser.

Switching to the Python backend

  1. Implement the routes listed opposite in FastAPI, returning the same JSON shapes (see API_CONTRACT.md).
  2. Set NEXT_PUBLIC_API_BASE=http://localhost:8000 in .env.local.
  3. Delete src/app/api/v1/ and src/lib/mock/.

No component changes are required — every screen already talks HTTP through src/lib/api/endpoints.ts.

API surface (24 endpoints)

/api/v1/statusGETTop-bar counters
/api/v1/dashboardGETOverview KPIs, charts and activity panels
/api/v1/facetsGETDropdown values (groups, sectors, sources, tags)
/api/v1/meta/dimensionsGETReport dimension + split registries
/api/v1/cvesGETCVE Catalog list
/api/v1/cves/aggregateGETCVE Reports charts
/api/v1/msrcGETMicrosoft Updates list
/api/v1/msrc/aggregateGETMSRC Reports charts
/api/v1/msrc/statsGETMicrosoft Updates stat cards
/api/v1/msrc/by-productGETVulnerabilities by Product
/api/v1/kevGETKEV Catalog list
/api/v1/kev/aggregateGETKEV Reports charts
/api/v1/kev/statsGETKEV stat cards
/api/v1/ransomware/victimsGETRansomware victim list
/api/v1/ransomware/aggregateGETRansomware Reports charts
/api/v1/ransomware/groupsGETTracked groups
/api/v1/ransomware/techniquesGETATT&CK technique matrix
/api/v1/feeds/sourcesGETFeed Manager
/api/v1/feeds/entriesGETFeed View
/api/v1/feeds/aggregateGETFeed Reports charts
/api/v1/saved-searchesGETSidebar pinned searches
/api/v1/domain-intelGETDomain Reputation
/api/v1/certificatesGETCert Transparency / CertStream
/api/v1/actions/{name}POSTSidebar sync / poll buttons