Was der Code tatsächlich tut
Zwanzig Mechanismen, am 16.09.2026 im Code überprüft. Jeweils ein Satz.
Geprüft gegen den Code am 16.09.2026
Jede Datenbankabfrage läuft über eine Prisma-Erweiterung, die sie an die Organisation der Anfrage bindet. Eine Abfrage ohne Organisationskontext schlägt fehl, anstatt Zeilen zurückzugeben.
TOTP-Seeds und Token von Drittanbietern werden mit AES-256-GCM verschlüsselt gespeichert, mit einem Schlüsselbund, der eine Schlüsselrotation ermöglicht, ohne den Zugriff auf bestehende Daten zu verlieren.
Jede HTML-Antwort erhält eine Content-Security-Policy mit einem zufälligen Nonce pro Anfrage, und ein Inline-Skript ohne dieses Nonce wird nicht ausgeführt.
Jeder zustandsändernde Aufruf, der die Sitzung eines Teammitglieds trägt, muss ein CSRF-Token senden, das mit dem Cookie übereinstimmt, und die Durchsetzung kann in der Produktionsumgebung nicht abgeschaltet werden.
Ein Link zur Freigabebestätigung ist mit HMAC-SHA256 signiert. Die Signatur wird vor jedem Datenbank-Lesezugriff überprüft, und jeder Fehler gibt denselben 404-Fehler zurück.
Ein Freigabelink ist ein zufälliger 32-Byte-Token, von dem nur der SHA-256 gespeichert wird, mit Ablaufdatum, optionalem Passwort und sofortigem Widerruf. Ein widerrufener, abgelaufener oder unbekannter Link antwortet mit demselben 404-Fehler.
Jede hochgeladene Datei wird mit ClamAV auf einer privaten VM innerhalb der VPC gescannt, bevor eine Vorschau davon erstellt wird, und eine Datei ohne virenfreies Ergebnis wird zurückgehalten und nicht bereitgestellt.
Dateien über 2 GiB werden zurückgehalten und nicht gescannt. Eine zurückgehaltene Datei wird nicht bereitgestellt.
Ein Kunde betritt das Kundenportal ohne Account per Code, Link, Telefon oder E-Mail; es wird nur ein HMAC des Codes oder Tokens gespeichert, ein Zugang läuft ab (standardmäßig nach 30 Tagen) und ein Widerruf trennt die Verbindung aller Geräte innerhalb von zwei Minuten.
Das Aktivitätsprotokoll in der Anwendung ist Append-only: Kein Pfad im Code aktualisiert oder löscht eine Audit-Zeile, und ein CI-Gate schlägt bei jedem Versuch fehl, einen solchen hinzuzufügen.
Für jede API-Route gilt eine Ratenbegrenzung pro Benutzer oder Client-IP über einen instanzübergreifenden, gemeinsamen Redis-Zähler. Wenn Redis nicht verfügbar ist, sinkt das Limit auf ein Drittel pro Instanz, anstatt sich komplett zu öffnen.
Die Sitzung ist ein signiertes JWT-Cookie (HS256) mit HttpOnly, Secure und SameSite=Lax, läuft nach zwei inaktiven Stunden ab und kann auf allen Geräten gleichzeitig widerrufen werden. Passwörter werden als scrypt-Hashes gespeichert und MFA-Wiederherstellungscodes nur als HMACs.
Das Kundenportal, Freigabelinks, Belege, die Einladungsannahme sowie die Seiten zur Registrierungsfertigstellung und zum Zurücksetzen des Passworts enthalten noindex, und die robots.txt verbietet /api/, /admin, /app und /coupons.
Ein Workspace-Inhaber exportiert die Daten und löscht den Workspace oder sein eigenes Konto, ohne uns zu fragen. Die Löschung sperrt den Zugriff sofort, und die endgültige Löschung erfolgt automatisch nach 30 Tagen, dem Zeitraum, der in den Bedingungen, der Datenschutzerklärung und dem Auftragsverarbeitungsvertrag festgelegt ist.
Secrets werden beim Deployment aus dem Secret Manager eingebunden, beim Start validiert (Mindestlänge, Platzhalterwerte werden abgelehnt, der Verschlüsselungsschlüssel muss aus 32 zufälligen Bytes bestehen) und in Protokollen und Fehlerberichten unkenntlich gemacht.
Geplante Aufrufe werden mit einer HMAC-SHA256-Signatur innerhalb eines Fünf-Minuten-Fensters oder einem Google OIDC-Token authentifiziert, und ein statisches Bearer-Secret wird in der Produktionsumgebung abgelehnt.
Jede ausgehende Anfrage an eine vom Nutzer angegebene Adresse (Google Drive-Importe, Webhooks) wird mit privaten Adressbereichen abgeglichen, auch nach Weiterleitungen und beim Verbindungsaufbau.
Der Body einer API-Anfrage ist auf 1 MiB begrenzt und wird mit einem strengen Schema abgeglichen, das unbekannte Felder abweist, bevor der Code damit in Berührung kommt.
Der Dateityp wird anhand der Bytes selbst bestimmt und nicht nach den Angaben des Browsers, und Dateien, die das Kontingent des Tarifs oder das Limit pro Datei überschreiten, werden schon vor dem Upload abgelehnt.
Jeder Objektpfad wird vor dem Signieren, Lesen oder Löschen mit dem Präfix der Organisation abgeglichen, und Dateien werden über zeitlich begrenzte, signierte URLs bereitgestellt (6 Stunden zum Ansehen, 5 Minuten zum Herunterladen).
KI-Vorschläge werden als Vorschläge gespeichert und erst angewendet, wenn eine Person sie freigibt, und KI-Code darf keinen System-Scope über Kundendaten öffnen; ein CI-Gate erzwingt dies.
Jedes Deployment durchläuft zuerst die gesamte Testsuite mit Testabdeckung, die Code-Gates und npm audit auf High-Level; ein Production-Deployment durchläuft zudem ein Canary-Deployment mit Readiness-Probes.
Wo die Server laufen
Die Server, die Datenbank und die Dateien von Tasked befinden sich in der Google Cloud-Region europe-west1 (Belgien).
Unterauftragsverarbeiter (E-Mail, SMS, Zahlungsabwicklung, Fehlerberichterstattung, KI-Anbieter) und Google Analytics, das die Nutzung der Website und der App misst, verarbeiten Daten außerhalb dieser Region.
Wofür du verantwortlich bist
- Portal-Links, Freigabelinks und Beleg-Links sind Inhaber-Zugangsdaten: Wer sie hat, erhält Zugriff.
- MFA ist optional pro Account und nicht für jeden Account zwingend erforderlich.
- Eine zurückgehaltene Datei erfordert das Handeln eines Workspace-Mitglieds.
- Gelöschte Daten können 30 Tage lang wiederhergestellt werden und sind danach unwiderruflich gelöscht.
Ohne Kreditkarte starten
Vierzehn Tage, alle Funktionen freigeschaltet. Erstelle einen Workspace, erkläre der KI, wie du arbeitest, und lade einen Kunden zur Freigabe ein.