Technische und organisatorische Massnahmen
Fassung 0.10 vom 26. Oktober 2026
Dieses Dokument ist Bestandteil des Auftragsbearbeitungsvertrags. Es nennt nur Massnahmen, die am Code, an der Datenbank oder an der Live-Seite nachgewiesen sind.
1. Zugangskontrolle (Konten)
- Anmeldung mit E-Mail und Passwort über Supabase Auth; Passwörter werden nur dort als Hashwert gespeichert.
- Begrenzung der Anmeldeversuche je Konto und je IP-Adresse; Kennungen werden als Hashwert gespeichert.
- Schutz vor automatisierten Zugriffen mit Cloudflare Turnstile. Der gebaute Code prüft immer im Produktionsmodus.
- Neue Betriebe werden erst nach Freischaltung durch den Betreiber aktiv.
2. Zugriffskontrolle (Berechtigungen)
- Trennung der Mitglieder in der Datenbank durch zeilenbasierte Sicherheitsregeln (Row Level Security), aktiv auf allen Tabellen. Jede Abfrage wird auf die Organisation des angemeldeten Kontos eingeschränkt.
- Rollen innerhalb eines Mitglieds (Administration, Bearbeitung, Lesen), eigene eingeschränkte Bereiche für Kurierdienste, getrennte Rollen im Backoffice des Betreibers (Owner, Finanzen, Support, Betrieb, nur Lesen).
- Privilegierte Datenbankfunktionen sind alle mit festem Suchpfad angelegt. Nicht angemeldete Zugriffe dürfen ausschliesslich die öffentliche Preisliste lesen; allgemeine Ausführungsrechte (PUBLIC) sind entzogen.
- Folgen und Nummernkreise (Sequenzen) sind für Anwendungsrollen gesperrt.
- Der Dienstschlüssel mit erweiterten Rechten wird ausschliesslich serverseitig verwendet und gelangt nie in den Browser.
- Serverseitige Maskierung: Bei anonymen Anfragen und Gesuchen ist die Identität der anfragenden Firma bis zur Freigabe verborgen; den Preis eines Kurierauftrags erhalten nur Auftraggeber und Kurierdienst.
- Der automatische Versand von Erinnerungen läuft über einen Endpunkt, der nur mit einem geheimen Schlüssel antwortet; die zugehörigen Datenbankfunktionen sind nur für den Server ausführbar.
- Einschränkungen von Mitgliedern im Backoffice wirken in der Datenbank selbst, getrennt nach Anfragen, Angeboten und Abschlüssen.
3. Übertragungskontrolle
- Ausschliesslich verschlüsselte Übertragung: HTTPS, Weiterleitung von HTTP auf HTTPS, Mindestversion TLS 1.2 (Cloudflare), Zertifikate automatisch erneuert.
- HSTS mit zwei Jahren Gültigkeit, auch für Unterdomains.
- Sicherheitsvorgaben im Browser: Content-Security-Policy, kein Einbetten in fremde Seiten, kein Erraten von Dateitypen, Referrer-Richtlinie, eingeschränkte Berechtigungen für Kamera, Mikrofon, Standort und Zahlung, Trennung von Fenstern und Ressourcen (COOP, CORP).
- E-Mail-Versand über eine verifizierte Domain mit SPF und DKIM. DMARC ist zur Beobachtung eingerichtet.
- Verschlüsselung der gespeicherten Daten und Sicherungen beim Datenbankanbieter nach dessen Angaben (AES-256).
4. Eingabekontrolle (Nachvollziehbarkeit)
- Protokollierung der Vorgänge und der Aktionen im Backoffice mit Zeitpunkt, handelnder Person und betroffenem Objekt; bei Leihen und Einsätzen auch Verlängerungen und Rückgabebestätigungen.
- Abgeschlossene Vorgänge, bestätigte Beträge und freigegebene Rechnungen sind unveränderlich. Rechnungen werden durch Gutschrift oder Storno berichtigt, nicht überschrieben.
- Doppelter Versand von Mahnungen ist serverseitig gesperrt; ein erneuter Versand braucht eine Rückfrage.
5. Auftragskontrolle
- Unterauftragsbearbeiter nach dem Dienstleisterverzeichnis, Auswahl nach Sicherheitsniveau, vertragliche Bindung über deren Auftragsbearbeitungsverträge (Supabase: in die Nutzungsbedingungen eingebunden; Cloudflare und Resend: mit Annahme der Bedingungen). Für Resend liegt ein SOC-2-Typ-II-Bericht ohne Einschränkung des Prüfurteils vor (Zeitraum 1.2.2025 bis 1.2.2026).
6. Verfügbarkeit und Wiederherstellung
- Betrieb auf Supabase (Datenbank, Frankfurt am Main) und Cloudflare (Auslieferung).
- Datensicherungen richten sich nach dem Tarif des Datenbankanbieters; eine Aufbewahrungsdauer wird derzeit nicht zugesichert.
7. Trennungskontrolle
- Mandantentrennung auf Datenbankebene (siehe Ziffer 2), keine gemeinsame Sicht über mehrere Mitglieder ausser im Backoffice des Betreibers.
- Änderungen am Code werden auf getrennten Zweigen entwickelt und vor der Übernahme in einer eigenen Vorschau gebaut.
8. Datenminimierung und Löschung
- Ein täglicher Aufräumjob löscht abgelaufene Anmeldesperren und Einmal-Codes.
- Anmeldeversuche werden nach 30 Tagen gelöscht.
- Protokolle versandter Erinnerungen werden mit dem zugehörigen Vorgang oder der Firma gelöscht.
- Weitere Löschungen erfolgen derzeit manuell durch den Betreiber auf Anfrage.
9. Überprüfung und Änderungen
- Laufende unabhängige, lesende Prüfung des Quellcodes und der Datenbankstruktur mit protokollierten Befunden. Die Prüfrolle sieht Struktur und Statistik, aber keine Inhalte.
- Korrekturen werden über einen Pull Request mit Typprüfung, automatischen Tests und Build geliefert und erst nach Freigabe durch den Betreiber übernommen. Datenbankänderungen werden als Skripte mit Rückbau und eigenem Test geliefert und vom Betreiber eingespielt.
- Eine Prüfung durch eine unabhängige externe Stelle ist bisher nicht erfolgt.