Zum Inhalt springen

Datenschutz und Daten

Ein Wert, der zum Zeitpunkt T gelöscht oder überschrieben wird, ist spätestens bei T + Aufbewahrungsdauer aus jeder Kopie verschwunden, die TapeDB führt: dem lokalen Log, den R2-Logsegmenten und älteren Snapshots. Das gilt auch in einem ruhigen Workspace. Du bist Verantwortlicher; TapeDB läuft in deinem eigenen Cloudflare-Account und Cloudflare ist dein Auftragsverarbeiter.

defineTapeDB({ schema, migrations, retention: { days: 30 } }); // standardmäßig 30, mindestens 2
Wo Was Wie lange
Durable-Object-SQLite, eine pro Workspace Die Zeilen deiner Modelle Bis sie gelöscht werden
Operationen und Zeitpunkt jedes Writes. Wer den Write ausgeführt hat, wird nicht erfasst Die halbe Aufbewahrungsdauer (standardmäßig 15 Tage)
Belege für Wiederholungen: zufällige Client-Transaktions-ID, Sequenznummer, Zeitpunkt und vorübergehend ein Hash der Operationen ID, Sequenznummer und Zeitpunkt, solange der Workspace besteht; Hash nach der halben Aufbewahrungsdauer entfernt. Ersetzte R2-Kopien verschwinden innerhalb der vollen Aufbewahrungsdauer
Der Dateiindex: Pfad, Größe, Content-Type und Uploader Bis die Datei gelöscht wird
R2-Bucket DATA Logsegmente, Snapshots, ein Manifest Ersetzte Kopien verschwinden innerhalb der Aufbewahrungsdauer
R2-Bucket FILES Hochgeladene Bytes Sofort mit der Datei gelöscht
Socket-Zustand Subject, Rolle, Subscriptions, Presence und Topics eines verbundenen Clients, im Speicher und ab 12 KiB im Durable Object Solange der Socket offen ist
Claim-Limiter Ein Token-Zähler pro HMAC von IP oder Subject eines Aufrufers, nie die Werte selbst Bis der Bucket wieder voll ist, standardmäßig eine Minute
Broadcast Nachrichten Nicht gespeichert

Belege enthalten weder Zeilenwerte noch die Identität des Schreibenden. Pro Transaktion mit Client-ID kommt ein kleiner Beleg hinzu. Verwende zufällige Transaktions-IDs statt Benutzer-IDs. Beim Löschen eines Workspaces werden auch seine Belege entfernt.

Claim-Tokens stehen nie in einer URL: HTTP-Requests tragen sie in Authorization, WebSocket-Upgrades in Sec-WebSocket-Protocol. Wenn du Request-Header in Cloudflare protokollierst, nimm diese beiden aus. Verwende eine undurchsichtige User-ID als sub des Claims, keine E-Mail-Adresse.

  • Point-in-Time-Recovery von Durable Objects. Cloudflare hält für jedes SQLite-Durable-Object 30 Tage wiederherstellbaren Verlauf vor. TapeDB stellt daraus nie wieder her, aber die tatsächliche Grenze ist der größere Wert aus Aufbewahrungsdauer und 30 Tagen. Deshalb beträgt die Standard-Aufbewahrungsdauer 30 Tage.
  • R2-Bucket-Locks. Eine Lock-Regel auf dem Bucket DATA oder FILES hindert TapeDB daran, zu löschen, was sie abdeckt. Setze keine auf die Buckets von TapeDB.
Anfrage Wie
Auskunft und Übertragbarkeit db.$export() oder tapedb export --workspace <id> streamt jede Zeile und jede Datei, die der Claim lesen darf, durch die Leseregeln. Siehe Export.
Berichtigung Aktualisiere die Zeilen. Alte Werte verschwinden innerhalb der Aufbewahrungsdauer aus dem Verlauf.
Löschen einer Person Lösche oder überschreibe ihre Zeilen und lösche ihre Dateien mit db.$files.delete(path), das die Bytes sofort entfernt. Alte Werte verschwinden innerhalb der Aufbewahrungsdauer aus dem Verlauf und innerhalb von 30 Tagen aus der Wiederherstellung von Cloudflare.
Löschen eines Workspace tapedb erase --workspace <id> --confirm <id> oder DELETE /engine/workspaces/:id mit einem Owner-Claim löscht den R2-Verlauf, die Dateien und den Speicher des Durable Object. Danach antwortet der Workspace mit 410.

Standardmäßig platziert Cloudflare das Durable Object eines Workspace in der Nähe seines ersten Requests und R2-Buckets dort, wo sie angelegt wurden. tapedb init --jurisdiction eu hält die Durable Objects und beide Buckets in der EU-Jurisdiktion von Cloudflare, und tapedb deploy lehnt eine Konfiguration ab, in der beide nicht übereinstimmen. Lege das vor dem ersten Deploy fest: eine spätere Änderung adressiert neue, leere Workspaces. Cloudflare bleibt Auftragsverarbeiter, daher gelten deine Transferbewertung und der Auftragsverarbeitungsvertrag von Cloudflare weiterhin.