fix: personenbezogene Daten aus Companion-Klartextkanal ausschließen
- PlainEventStore.Allowed: Grade/ExamResult entfernt (beide tragen StudentId + Notenwert/-kommentar, PlainSyncEvent.Payload läuft aber als Klartext-JSON über den Server, anders als der AES-256-GCM- verschlüsselte Desktop-Kanal). Nur noch WorkTask/Lesson erlaubt. - Regressionstest PlainEventStoreTests ergänzt. - TODO.md 10.3.3 abgehakt, inkl. deutlichem Warnhinweis: die geplante Mitarbeitsnoten-Erfassung per Companion-App ist damit bewusst blockiert, bis 10.3.1 (Schlüsselaustausch) + eine echte Payload- Verschlüsselung für PlainSyncEvent existieren. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,8 +4,10 @@ namespace LehrerApp.Api;
|
||||
|
||||
public class PlainEventStore(EventStore eventStore)
|
||||
{
|
||||
private static readonly HashSet<string> Allowed =
|
||||
["Grade", "ExamResult", "WorkTask", "Lesson"];
|
||||
// Grade/ExamResult bewusst NICHT erlaubt: PlainSyncEvent.Payload ist Klartext-JSON (siehe
|
||||
// SyncModels.cs), beide Typen tragen aber eine StudentId plus Notenwert/-kommentar -
|
||||
// personenbezogene Daten dürfen laut TODO.md 10.3.3 nicht unverschlüsselt übertragen werden.
|
||||
private static readonly HashSet<string> Allowed = ["WorkTask", "Lesson"];
|
||||
|
||||
public PlainPushResponse Push(string userId, List<PlainSyncEvent> events)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user