feat(iace): sync IACE frontend, API routes, and scope engine updates from breakpilot-pwa
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 35s
CI / test-python-backend-compliance (push) Successful in 29s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 21s

- Add IACE project pages (classification, evidence, hazards, mitigations, monitoring, tech-file, verification)
- Add IACE API catch-all route
- Update compliance-scope-engine with IACE AI Act product triggers
- Update compliance-scope-types, navigation, roles, and sidebar for IACE
- Update company-profile page
This commit is contained in:
Benjamin Boenisch
2026-02-25 23:03:03 +01:00
parent 5314db49e2
commit 03708d9e5b
18 changed files with 5565 additions and 110 deletions

View File

@@ -1,8 +1,7 @@
/**
* Role-based Access System for Admin Compliance
* Role-based Access System for Admin v2
*
* Roles determine which categories and modules are visible.
* Extracted from admin-v2, keeping only SDK/compliance roles.
* Roles determine which categories and modules are visible
*/
import { CategoryId } from './navigation'
@@ -22,9 +21,9 @@ export const roles: Role[] = [
{
id: 'developer',
name: 'Entwickler',
description: 'Voller Zugriff auf alle Compliance-Bereiche',
description: 'Voller Zugriff auf alle Bereiche',
icon: 'code',
visibleCategories: ['compliance-sdk', 'development'],
visibleCategories: ['ai', 'education', 'website'],
color: 'bg-primary-100 border-primary-300 text-primary-700',
},
{
@@ -32,7 +31,7 @@ export const roles: Role[] = [
name: 'Manager',
description: 'Executive Uebersicht',
icon: 'chart',
visibleCategories: ['compliance-sdk', 'development'],
visibleCategories: ['website'],
color: 'bg-blue-100 border-blue-300 text-blue-700',
},
{
@@ -40,7 +39,7 @@ export const roles: Role[] = [
name: 'Auditor',
description: 'Compliance Pruefung',
icon: 'clipboard',
visibleCategories: ['compliance-sdk', 'development'],
visibleCategories: [],
color: 'bg-amber-100 border-amber-300 text-amber-700',
},
{
@@ -48,13 +47,13 @@ export const roles: Role[] = [
name: 'DSB',
description: 'Datenschutzbeauftragter',
icon: 'shield',
visibleCategories: ['compliance-sdk', 'development'],
visibleCategories: [],
color: 'bg-purple-100 border-purple-300 text-purple-700',
},
]
// Storage key for localStorage
const ROLE_STORAGE_KEY = 'admin-compliance-selected-role'
const ROLE_STORAGE_KEY = 'admin-v2-selected-role'
// Get role by ID
export function getRoleById(id: RoleId): Role | undefined {