# INSIGHT-Platform — Developer Briefing > Dieses Dokument ist der Einstiegspunkt für jede neue Claude Code Session in diesem Repo. > Lies es vollständig bevor du Code schreibst. ## Was ist dieses Repo? Die **INSIGHT-Plattform** ist das Fundament aller INSIGHT-Dienste. Sie stellt Authentifizierung, User-Verwaltung, Berechtigungssystem und die React-Shell bereit, in die sich fachliche Apps (aus `INSIGHT-Apps`) einbinden. ## Struktur ``` packages/ ├── core-service/ # NestJS: Auth, JWT, User, Settings, Expertenprofil, RBAC └── frontend/ # React 18 + Vite: Shell, Login, Navigation, Admin-Bereich ``` ## Abhängigkeiten zu anderen Repos | Repo | Beziehung | |------|-----------| | `INSIGHT-Shared` | Lesen: module-interface.md, api-platform.md — Schreiben: api-platform.md nach Änderungen | | `INSIGHT-Apps` | Apps registrieren sich via InsightModule-Contract in der Shell | | `INSIGHT-Infra` | Stellt DBS01 (PostgreSQL + Redis) und APS01 (Docker) bereit | ## Confluence Dokumentation - **Phase 2 — Plattform:** https://xinion.atlassian.net/wiki/x/oYKSEw - **Berechtigungskonzept:** https://xinion.atlassian.net/wiki/x/FQCVEw - **Projekt-Übersicht:** https://xinion.atlassian.net/wiki/spaces/ProjektINS/overview ## Tech Stack - **Backend:** NestJS 10, TypeScript strict, Prisma ORM - **Frontend:** React 18, Vite, TanStack Query, React Router - **Datenbank:** PostgreSQL 16 (auf DBS01, via PgBouncer) - **Cache:** Redis 7 (auf DBS01) - **Auth:** JWT RS256, Refresh Token (HttpOnly Cookie), TOTP 2FA ## Sicherheitsregeln (nicht verhandelbar) - Kein `any` in TypeScript — strict mode immer - Kein `localStorage` für Tokens (Access: Memory, Refresh: HttpOnly Cookie) - Globaler `ValidationPipe` (whitelist + forbidNonWhitelisted) - `@Public()` explizit für öffentliche Routen - Rollen immer via `@Roles()` + `RolesGuard` auf jedem Endpoint - Kein raw SQL — ausschließlich Prisma ## RBAC-Modell ``` User ├── platformRole: PLATFORM_ADMIN | USER └── moduleRoles: { crm: ADMIN | MANAGER | VIEWER, ... } ``` Platform Admin: User-Verwaltung, System-Einstellungen, Modul-Zuweisung Module Admin: Berechtigungen innerhalb seines Moduls ## Deploy Key (dieses Repo) ``` ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK2deXkhf9Ut9728mvxwl+MyFtbjoPRXNbTR2XjmDJVs deploy@INSIGHT-Platform ``` Privater Key: `.keys/deploy_platform_ed25519` ## Aktueller Status - **Phase:** 2 — Plattform - **Stand:** Konzeption (Berechtigungskonzept in Klärung) - **Nächster Schritt:** Berechtigungskonzept finalisieren → Prisma Schema → Auth-Service