Consent and snapshots
How Laydebug handles on-device SQLite without leaking it onto GitHub.
Sharing local state is off by default. The reporter must toggle consent and confirm before upload.
The SDK:
- Serializes SQLite (
serializeSync/ yourgetSnapshotcallback). - Rejects non-SQLite headers and payloads over 8 MiB.
- Calls
reports.prepareStateUploadfor a short-lived signed PUT URL. - Uploads bytes directly to private storage.
- Posts
reports.bugwithobjectPath,sha256, andbyteLengthonly.
Storage keys look like laydebug-state/{projectId}/{uploadId}/snapshot.db. The GitHub issue includes the path and checksum, never the file and never a signed URL.