Sicherheitsbericht
Im August 2026 haben wir zwei vollständige Audit-Durchläufe über die ganze Anwendung gemacht — einen für Sicherheit, einen für Datenschutz — und veröffentlichen hier, was dabei herauskam: die gefundenen Lücken, die Fixes, und was noch offen ist. Die meisten Anbieter schreiben an dieser Stelle „Sicherheit nach Stand der Technik". Wir zeigen lieber die Arbeit. Stand: 14. August 2026.
Das Gesamtbild
Der Kern war überdurchschnittlich sauber: die selbstgebaute Anmeldung solide (starkes Passwort-Hashing, gehashte Sitzungs-Token, zeitkonstante Vergleiche), keine SQL-Injection, keine Geheimnisse im Browser-Bundle, keine durchzählbaren IDs, Eigentums-Prüfung auf allen Datei- und Ressourcen-Routen. Gefunden haben wir trotzdem etwas — wer bei einem Audit nichts findet, hat nicht gesucht.
Gefunden und geschlossen
Die relevanten Funde, alle im August 2026 geschlossen und mit automatischen Tests festgenagelt:
- Ein Bezahl-Umweg auf der Danke-Seite. Mit der Sitzungs-Kennung eines echten Kaufs ließ sich ein Download-Link für ein anderes Produkt erzeugen. Geschlossen: Das Produkt kommt jetzt aus den verifizierten Kauf-Metadaten, nicht aus der URL.
- E-Mail-Adressen an Whiteboard-Gästen sichtbar. Still angelegte Konten (Gastkauf) zeigten ihre Adresse am Live-Cursor und an Kommentaren — auch Unbeteiligten. Geschlossen: neutrale Anzeigenamen, nie mehr Rückfall auf die Adresse.
- Geheim-Links in der eigenen Statistik. Die selbst gehostete Reichweitenmessung protokollierte volle Pfade — inklusive Einladungs- und Anmelde-Token. Geschlossen: Auf Token-Routen lädt der Zähler nicht.
- Echtzeit-Zugänge waren nicht widerrufbar. Wer von einem Whiteboard flog, konnte über die bestehende Verbindung bis zu acht Stunden weiterschreiben. Geschlossen: Laufzeit auf 20 Minuten, Rechteprüfung bei jeder Erneuerung, und ein Widerruf schließt offene Verbindungen sofort.
- Ein Export-Endpunkt ohne Deckel. Unangemeldete Anfragen konnten beliebig schwere PDF-Erzeugung auslösen. Geschlossen: Größen-, Block- und IP-Grenzen.
- Eine Server-Anfrage an fremdbestimmte Adressen (beim Miro-Import). Geschlossen mit drei Riegeln: nur https auf erlaubte Hosts, keine Weiterleitungen, keine internen Adressen.
- Konto-Rätselraten über die Registrierung. Die Antwort verriet, ob eine Adresse ein Konto hat. Geschlossen: wörtlich gleiche Antwort in beiden Fällen, Timing-Kante mitgedacht, dazu echte E-Mail-Bestätigung (Double-Opt-in).
- Dazu kleinere Härtungen: Sicherheits-Header und Content-Security-Policy, kein SVG-Upload mehr in Protokollen, keine Klartext-Adressen in Fehlerprotokollen, dreifach abschaltbare KI (je Person, je Team, je Installation).
Was offen ist
Offen sind Härtungspunkte, keine akuten Löcher — unter anderem zentralisierte Anfrage-Limits über alle Formulare, eine Zwei-Faktor-Anmeldung und ein schriftliches Vorfalls-Drehbuch. Wir beschreiben offene Punkte hier bewusst als Kategorie und nicht als Anleitung; vollständig und priorisiert stehen sie in unserer internen Sicherheits-Roadmap, und diese Seite wird nachgezogen, wenn eine Welle schließt. Ein externer Penetrationstest ist der nächste größere Schritt, sobald der Umsatz ihn trägt — der Bericht wird dann hier veröffentlicht.
Wie es weitergeht
Sicherheit ist bei uns Bau-Praxis, nicht Projekt: Automatische Wachen laufen bei jedem Bau (Datenabfluss, Barrierefreiheit, Zusagen-Prüfung) und brechen ihn bei Befund ab. Jede geschlossene Lücke behält ihren Test, damit sie beim nächsten Umbau nicht lautlos wieder aufgeht.
Du hast etwas gefunden?
Schreib an hey@tomorrow.tools — Details auf der Souveränitäts-Seite, maschinenlesbar unter /.well-known/security.txt. Danke.