← Zurück

Sicherheit & Datenschutz

Stand: Juli 2026. T.E.O. ist eine private, nicht-kommerzielle Plattform für Design-Reviews. Diese Seite beschreibt, wie sensible Daten geschützt werden.

Architektur & Grundprinzipien

T.E.O. wurde mit einem Security-by-Design-Ansatz entwickelt. Sicherheitsrelevante Funktionen sind so implementiert, dass sensible Daten ausschliesslich in kontrollierten, serverseitigen Prozessen verarbeitet werden. Zwischen Client- und Server-Kontext besteht eine strikte Trennung; privilegierte Operationen laufen über separate, geschützte Server-Funktionen.

Datenklassifikation

  • Konto-Daten: E-Mail, Name, Profilbild, Account-Typ.
  • Projekt-Inhalte: Canvas, hochgeladene Designs/Mockups, Kommentare und Feedback.
  • Technische Daten: Session-Tokens, Auth-Events, Fehler-Telemetrie (anonymisiert).
  • Keine Zahlungsdaten, keine besonderen Personendaten (Gesundheit, Religion etc.).

Verschlüsselung sensibler Daten

Ausgewählte sensible Netzwerkdaten (z. B. IP-Adressen, MAC-Adressen, Netzmasken, Gateways und gerätespezifische Identifikatoren) werden serverseitig verschlüsselt gespeichert.

  • Es werden moderne, etablierte kryptographische Verfahren eingesetzt (AES-256-GCM).
  • Ver- und Entschlüsselung erfolgen ausschliesslich in geschützten Server-Funktionen.
  • Kryptographische Schlüssel verlassen den Server zu keinem Zeitpunkt.
  • Der Klartext dieser Daten ist nur im autorisierten Anwendungskontext für berechtigte Benutzer verfügbar.
  • Zusätzlich: AES-256 at rest auf Datenbank- und Storage-Ebene durch die Cloud-Plattform.

Zugriffskontrolle & Mandantentrennung

Der Datenzugriff erfolgt über PostgreSQL Row-Level Security (RLS), ergänzt um rollenbasierte Policies.

  • Projekte sind ausschliesslich für Eigentümer und berechtigte Mitglieder sichtbar.
  • Zugriffsrechte werden über projektbezogene Mitgliedschaften (Viewer / Editor) gesteuert und sind jederzeit widerrufbar.
  • Geteilte Inhalte erfordern explizite Freigaben (z. B. Share-Tokens mit Ablaufdatum, optional passwortgeschützt).
  • Admin-Rollen liegen in einer separaten Tabelle (keine Profil-Felder → keine Privilege-Escalation).

Authentifizierung & Passwortsicherheit

Für die Benutzerverwaltung wird Supabase Auth verwendet.

  • Passwörter werden ausschliesslich als kryptographische Hashes (bcrypt) gespeichert.
  • E-Mail-Verifikation ist erforderlich, bevor ein Zugriff auf produktive Daten erfolgen kann.
  • Sitzungen werden über sichere Token-Mechanismen verwaltet (Auto-Refresh, sicheres Storage).
  • Google OAuth steht als zweite Login-Option zur Verfügung.
  • Self-Service-Konto-Löschung im Profil (entfernt Projekte, Uploads, Rollen und Auth-User).
  • Leaked-Password-Check (HIBP) aktiv: Passwörter werden bei Registrierung und Änderung gegen die Have-I-Been-Pwned-Datenbank geprüft.
  • Zwei-Faktor-Authentifizierung (TOTP) optional aktivierbar im Profil — Code aus einer Authenticator-App (Google Authenticator, 1Password, Authy …) wird zusätzlich zum Passwort abgefragt.

Transportverschlüsselung

  • Die gesamte Kommunikation mit der Anwendung läuft über HTTPS/TLS.
  • Unsichere HTTP-Zugriffe werden automatisch auf HTTPS umgeleitet.

Speicherung & Zugriff auf Dateien

  • Feedback-Bilder und sensible Uploads liegen in privaten Storage-Buckets.
  • Der Zugriff erfolgt ausschliesslich über zeitlich befristete, signierte URLs.
  • Direkter, unautorisierter Zugriff ist nicht möglich.
  • Avatare und öffentliche Katalog-Bilder sind bewusst öffentlich (kein PII).

Erweiterte Sicherheitsmechanismen

  • Verpflichtender Freigabeprozess (Approval Workflow) vor Zugriff auf produktive Daten.
  • Getrennte Serverfunktionen für privilegierte Operationen.
  • Strikte Trennung zwischen Client- und Server-Kontext (Service-Role-Keys verlassen den Server nicht).
  • Anwendungs-Fehler werden anonymisiert erfasst (keine Inhalte, keine Tokens).
  • Audit-Log: sicherheitsrelevante Änderungen an Projekten, Feedback, Rollen und Profilen werden mit Zeitstempel, Akteur und Diff protokolliert. Einsicht nur durch Administratoren.

Backups & Recovery

  • Automatische tägliche DB-Backups durch die Cloud-Plattform (Point-in-Time-Recovery innerhalb der Aufbewahrungsfrist).
  • Gelöschte Projekte landen zuerst im Papierkorb (Soft-Delete) und können wiederhergestellt werden.

Datenstandort & DSGVO / DSG

  • Hosting in der EU (Frankfurt). Auftragsverarbeiter: Supabase/Lovable Cloud, Cloudflare (CDN), Google (OAuth).
  • Verarbeitungsverzeichnis und Rechtsgrundlagen siehe Datenschutzerklärung.
  • Recht auf Auskunft, Berichtigung, Löschung und Datenportabilität: per E-Mail an die unten genannte Adresse.

Responsible Disclosure

Sicherheitslücken können verantwortungsvoll gemeldet werden. Bitte nicht öffentlich publizieren, sondern eine E-Mail mit Beschreibung und (wenn möglich) Proof-of-Concept an bojan@trajkovic.ch senden. Eingangsbestätigung innerhalb von 72 Stunden. Maschinenlesbare Kontaktinformationen nach RFC 9116 unter /.well-known/security.txt.

Security-Kontakt

Bojan Trajkovic · bojan@trajkovic.ch

Dieser Text ist eine ehrliche Selbstauskunft — keine Zertifizierung (kein ISO 27001, kein SOC 2). Anregungen und Korrekturen sind willkommen.