feat: Asset register in ISMS module (ISO 27001 Annex A.5.9)

New "Assets" tab in the ISMS module for information asset management:
- CRUD for information assets (hardware, software, data, services,
  people, facilities)
- CIA protection need matrix (confidentiality, integrity, availability)
  with normal/high/very_high levels
- Information classification (public, internal, confidential,
  strictly confidential) with color-coded badges
- Category filter (all/hardware/software/data/service/people/facility)
- Stats cards (total, by category, high protection need count)
- CSV export for ISO 27001 audits
- Edit/delete per asset
- localStorage persistence (same pattern as compliance_scope)

Types: InformationAsset, AssetCategory, AssetClassification,
ProtectionLevel interfaces + label/color maps

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-01 12:32:24 +02:00
parent 03c17987a1
commit e58c96eb70
3 changed files with 369 additions and 1 deletions
+3
View File
@@ -8,6 +8,7 @@ import { SoATab } from './_components/SoATab'
import { ObjectivesTab } from './_components/ObjectivesTab'
import { AuditsTab } from './_components/AuditsTab'
import { ReviewsTab } from './_components/ReviewsTab'
import { AssetsTab } from './_components/AssetsTab'
// =============================================================================
// MAIN PAGE
@@ -20,6 +21,7 @@ const TABS: { id: TabId; label: string }[] = [
{ id: 'objectives', label: 'Ziele' },
{ id: 'audits', label: 'Audits & Findings' },
{ id: 'reviews', label: 'Management Reviews' },
{ id: 'assets', label: 'Assets' },
]
export default function ISMSPage() {
@@ -59,6 +61,7 @@ export default function ISMSPage() {
{tab === 'objectives' && <ObjectivesTab />}
{tab === 'audits' && <AuditsTab />}
{tab === 'reviews' && <ReviewsTab />}
{tab === 'assets' && <AssetsTab />}
</div>
</div>
)