CDP 35948468: Provide Written Notification (app) #3

Open
opened 2026-04-16 08:16:44 +02:00 by Hartmut · 3 comments
Owner

CDP Control ID: 35948468
Category: Administrator Access
Frequency: Annually
Owner: h.noerenberg
Parent: #1

Requirement & Guidance

Administrator Access Requirement: Provide notification in writing if someone is assigned to an administrator role so that the individual is aware of the privileged level of access required as an administrator. Guidance: An administrator is a person who is responsible and has full access for the upkeep, and reliable operation of computer operating systems, databases, networks, and/or applications; the administrator may be involved with account creations, installations, and upgrades. Send a formal communication to the individual who gets assigned with administrator privileges in an environment where client data is exposed. Make sure the person is aware of his or her privileges in the environment. Supporting Evidence: copy of the communication or the mail template. Additional information can be found on CDP website Administrator Access

**CDP Control ID:** `35948468` **Category:** Administrator Access **Frequency:** Annually **Owner:** h.noerenberg **Parent:** #1 ## Requirement & Guidance Administrator Access Requirement: Provide notification in writing if someone is assigned to an administrator role so that the individual is aware of the privileged level of access required as an administrator. Guidance: An administrator is a person who is responsible and has full access for the upkeep, and reliable operation of computer operating systems, databases, networks, and/or applications; the administrator may be involved with account creations, installations, and upgrades. Send a formal communication to the individual who gets assigned with administrator privileges in an environment where client data is exposed. Make sure the person is aware of his or her privileges in the environment. Supporting Evidence: copy of the communication or the mail template. Additional information can be found on CDP website Administrator Access
Hartmut added the cdpsecurity labels 2026-04-16 08:16:44 +02:00
Author
Owner

CapaKraken Action Plan — 35948468 Administrator-Benachrichtigung

Scope: Wer eine Admin-Rolle erhält, muss schriftlich über die Privilegien informiert werden.

Aktueller Stand:

  • RBAC implementiert (3.2.2.3.11 OK, adminProcedure)
  • Zuweisung heute: SystemSetting / UserRole-Eintrag in DB

Todos:

  • Admin-Notification-Text formulieren (Privilegien, Verantwortung, Compliance-Pflichten)
  • Prozess definieren: /admin/users Rollenänderung → automatische E-Mail an Betroffenen mit Notification-Text + Ack-Checkbox
  • Alt-Admins: einmalige Bestätigungsmail an bestehende ADMIN-User senden und Ack in UserAckLog oder neuem Feld persistieren
  • Evidence: Screenshot der Benachrichtigungsmail + Ack-Log-Eintrag

Dateien:

  • packages/api/src/router/users.ts — Rollenvergabe
  • apps/web/src/app/(app)/admin/users/ — UI
### CapaKraken Action Plan — 35948468 Administrator-Benachrichtigung **Scope:** Wer eine Admin-Rolle erhält, muss schriftlich über die Privilegien informiert werden. **Aktueller Stand:** - RBAC implementiert (3.2.2.3.11 OK, `adminProcedure`) - Zuweisung heute: SystemSetting / `UserRole`-Eintrag in DB **Todos:** - [ ] Admin-Notification-Text formulieren (Privilegien, Verantwortung, Compliance-Pflichten) - [ ] Prozess definieren: `/admin/users` Rollenänderung → automatische E-Mail an Betroffenen mit Notification-Text + Ack-Checkbox - [ ] Alt-Admins: einmalige Bestätigungsmail an bestehende `ADMIN`-User senden und Ack in `UserAckLog` oder neuem Feld persistieren - [ ] Evidence: Screenshot der Benachrichtigungsmail + Ack-Log-Eintrag **Dateien:** - `packages/api/src/router/users.ts` — Rollenvergabe - `apps/web/src/app/(app)/admin/users/` — UI
Author
Owner

CapaKraken Compliance-Status

EAPPS-Mapping: Access Control Standard (Prozess)
Status: 🟡 PARTIAL / TODO — konkrete Schritte unten

Zusammenfassung

Prozess-Kontrolle: Admins müssen schriftlich über ihre privilegierte Rolle informiert werden.

Aktuelle Evidenz

Offene Aufgaben

  • Notification-Flow ergänzen: Bei Zuweisung/Änderung zu admin → E-Mail an den User mit CDP-Hinweistext.
  • Alternativ: einmaligen schriftlichen Prozess dokumentieren (z. B. Admin-Onboarding in docs/developer-runbook.md).
  • Template-Text für Notification abstimmen (Security-/Compliance-Referenz).

Ticket bleibt offen bis alle Aufgaben abgehakt sind.

## CapaKraken Compliance-Status **EAPPS-Mapping:** `Access Control Standard (Prozess)` **Status:** 🟡 **PARTIAL / TODO** — konkrete Schritte unten ### Zusammenfassung Prozess-Kontrolle: Admins müssen schriftlich über ihre privilegierte Rolle informiert werden. ### Aktuelle Evidenz - Admin-Rolle wird technisch via `UserCreateModal` zugewiesen — [`apps/web/src/components/admin/UserCreateModal.tsx`](../blob/main/apps/web/src/components/admin/UserCreateModal.tsx) - Keine automatisierte E-Mail-Benachrichtigung bei Rollen-Zuweisung — aktuell nur UI-Toast. ### Offene Aufgaben - [ ] Notification-Flow ergänzen: Bei Zuweisung/Änderung zu `admin` → E-Mail an den User mit CDP-Hinweistext. - [ ] Alternativ: einmaligen schriftlichen Prozess dokumentieren (z. B. Admin-Onboarding in `docs/developer-runbook.md`). - [ ] Template-Text für Notification abstimmen (Security-/Compliance-Referenz). --- *Ticket bleibt offen bis alle Aufgaben abgehakt sind.*
Author
Owner

Action Plan

CDP-Requirement: Admin-Rollenzuweisung muss formell schriftlich kommuniziert werden.

Status

  • Infrastruktur vorhanden: packages/api/src/lib/email.ts (nodemailer) — Mail-Versand etabliert (Reset-Password, Weekly-Digest).
  • Admin-Vergabe erfolgt aktuell nur via scripts/setup-admin.mjs (CLI) oder Rollen-UI — ohne automatische Notification.

TODOs

  1. Email-Template admin-role-assignment-notification.html unter packages/api/src/lib/email-templates/ anlegen. Inhalt:
    • Empfänger wird Administrator von CapaKraken
    • Bedeutet privilegierten Zugriff auf Client-Daten
    • Zugehörige CDP-Pflichten (Secure-Coding, Audit-Log, kein Credential-Sharing)
    • Link auf internes Policy-Doc
  2. Hook in RBAC-Service: wenn role === "ADMIN" gesetzt wird (über UI oder setup-admin.mjs), triggere sendEmail({ to: user.email, template: "admin-role-assignment-notification" }).
  3. Audit-Eintrag ergänzen: action: "ADMIN_ROLE_ASSIGNED", entityType: "User" — nötig als Supporting-Evidence für CDP-Attestierung.
  4. PDF-Export der gesendeten Notification in docs/evidence/admin-notifications/ ablegen (für CDP-Audit).

Frequency

Annual — bei jedem Admin-Wechsel + jährliche Re-Attestierung der aktiven Admin-Liste.

Blocker: Keine. Kann direkt implementiert werden.

## Action Plan **CDP-Requirement:** Admin-Rollenzuweisung muss formell schriftlich kommuniziert werden. ### Status - **Infrastruktur vorhanden:** `packages/api/src/lib/email.ts` (nodemailer) — Mail-Versand etabliert (Reset-Password, Weekly-Digest). - **Admin-Vergabe erfolgt aktuell nur via** `scripts/setup-admin.mjs` (CLI) oder Rollen-UI — **ohne automatische Notification**. ### TODOs 1. **Email-Template** `admin-role-assignment-notification.html` unter `packages/api/src/lib/email-templates/` anlegen. Inhalt: - Empfänger wird Administrator von CapaKraken - Bedeutet privilegierten Zugriff auf Client-Daten - Zugehörige CDP-Pflichten (Secure-Coding, Audit-Log, kein Credential-Sharing) - Link auf internes Policy-Doc 2. **Hook** in RBAC-Service: wenn `role === "ADMIN"` gesetzt wird (über UI oder `setup-admin.mjs`), triggere `sendEmail({ to: user.email, template: "admin-role-assignment-notification" })`. 3. **Audit-Eintrag** ergänzen: `action: "ADMIN_ROLE_ASSIGNED"`, `entityType: "User"` — nötig als Supporting-Evidence für CDP-Attestierung. 4. **PDF-Export** der gesendeten Notification in `docs/evidence/admin-notifications/` ablegen (für CDP-Audit). ### Frequency Annual — bei jedem Admin-Wechsel + jährliche Re-Attestierung der aktiven Admin-Liste. **Blocker:** Keine. Kann direkt implementiert werden.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Hartmut/CapaKraken#3