Sicherheit & Datenschutz
Stand: August 2026
T.E.O. ist eine private, nicht-kommerzielle Plattform für die Planung und Dokumentation von Anlagen- und Gerätekonfigurationen (Canvas-Topologien, Produktkatalog, Netzwerk-Setup, Powerconfig-Import/Export, Scan-Erfassung sowie Bild-Feedback). 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-Topologien, Geräte- und Netzwerkangaben (IP, Netzmaske, Gateway, MAC, Modbus-/Device-Adressen), hochgeladene Designs/Mockups und Konfigurationsdateien, Kommentare und Feedback.
- Scan-Daten: Kamerabilder für MAC-/RF-Erkennung werden lokal im Browser verarbeitet (OCR/DataMatrix) und nur auf ausdrückliche Aktion gespeichert.
- 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).
Scan & lokale Bildverarbeitung
- Der Kamerazugriff erfordert eine explizite Browser-Freigabe und lässt sich jederzeit widerrufen.
- OCR- und DataMatrix-Erkennung laufen vollständig lokal im Browser (WASM); es findet kein Upload von Live-Kamerabildern statt.
- Nur bewusst gespeicherte Aufnahmen landen im privaten Storage-Bucket.
KI- und Drittdienste
- KI-gestützte Recherche-Funktionen werden nur auf ausdrückliche Nutzeraktion ausgeführt.
- Übermittelt wird ausschliesslich der Inhalt der jeweiligen Anfrage (z. B. Artikelnummer, Suchtext) — keine Konto- oder Projektdatenbank.
- API-Schlüssel für Drittdienste liegen ausschliesslich serverseitig und werden nie an den Browser ausgeliefert.
Erweiterte Sicherheitsmechanismen
- Verpflichtender Freigabeprozess (Approval Workflow) vor Zugriff auf produktive Daten.
- Account-Typ „Siemens intern" wird erst nach verifizierter E-Mail-Domain gesetzt (keine Selbstdeklaration).
- 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. Grosse Nutzdaten werden automatisch gekürzt (Datenminimierung). Einsicht nur durch Administratoren.
- Abhängigkeiten werden regelmässig auf bekannte Schwachstellen geprüft und bei Bedarf auf gepatchte Versionen fixiert.
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. Maschinenlesbare Kontaktinformationen nach RFC 9116 unter /.well-known/security.txt.
Disclosure-Prozess & Fristen
Für gemeldete Schwachstellen gilt ein Coordinated-Vulnerability-Disclosure-Prozess (CVD) mit verbindlichen Reaktionszeiten:
- Eingangsbestätigung: innerhalb von 72 Stunden
- Triage & Erstbewertung (CVSS 3.1): innerhalb von 7 Werktagen
- Behebungsfristen ab Triage: Critical innerhalb von 7 Tagen, High innerhalb von 30 Tagen, Medium innerhalb von 90 Tagen, Low nach Roadmap
- Koordinierte Veröffentlichung: nach Behebung, in Abstimmung mit der meldenden Person
Safe Harbour: Wer eine Schwachstelle in gutem Glauben und regelkonform meldet, muss keine rechtlichen Schritte befürchten. Regelkonform bedeutet: keine Datenexfiltration, keine Beeinträchtigung der Verfügbarkeit, kein Zugriff auf Daten Dritter, keine Weitergabe an Dritte vor der koordinierten Veröffentlichung und Nutzung ausschliesslich eigener Testkonten.
CVE-Vergabe: Sollte TEO-Code künftig als Open Source veröffentlicht werden, erfolgt die CVE-Zuweisung über die GitHub Security Advisories (GitHub als CNA).
Support-Zeitraum für Sicherheits-Updates
TEO wird als kontinuierlich aktualisierter Cloud-Dienst betrieben. Sicherheits-Updates werden ohne separates Versions-Rollout eingespielt und gelten für alle Nutzer, solange der Dienst betrieben wird.
Für den Fall, dass künftig eigenständig auslieferbare Komponenten (z. B. Plugin, Desktop-Build oder SDK) bereitgestellt werden, gilt ein Support-Zeitraum von mindestens 5 Jahren ab dem Datum der jeweiligen Release-Version. Eine Einstellung des Dienstes wird mindestens 6 Monate vorher angekündigt.
Software-Stückliste (SBOM): Für jede Version wird eine SBOM im CycloneDX-Format erzeugt. Sie kann für berechtigte Anfragen (z. B. Kunden-Security-Reviews) über den Security-Kontakt angefordert werden.
Dieser Text ist eine ehrliche Selbstauskunft — keine Zertifizierung (kein ISO 27001, kein SOC 2). Anregungen und Korrekturen sind willkommen.