Dumpling

Security

You are handing a backup service a database password. This page says precisely what happens to it, what we keep, what we never keep, and what to do if you find a problem. No badges, no vague reassurance.

Where your data goes

At the scheduled time our worker connects to your database and runs pg_dump or mysqldump. The output is streamed through the worker's memory, optionally gzipped and encrypted, and uploaded in parts to your bucket. It is never written to our disk and we never keep a copy. When the run ends, the only things left on our side are the run's metadata: when it ran, how large the file was, the object name, and the last part of the tool's log.

What we store

What we never store

Keys and decryption

Secrets are encrypted with a master key that exists only in the environment of our two processes on the server, never in the database, never in the code repository, and backed up offline. A secret is decrypted in memory only for the operation that needs it: the connection test when you save it, and the backup run itself. Our own database copies contain only the encrypted form.

Network

The least access we need

Use a read-only database user and bucket credentials scoped to one bucket. The exact grants are in the docs. If you turn retention off ("keep last" = 0) you can use write-only bucket credentials.

Deleting your data

Deleting a database, bucket or job removes its credentials from the live database immediately. We keep encrypted nightly copies of our own database for 7 days for disaster recovery, so the encrypted form can persist for up to 7 days after deletion. Email us to delete your whole account.

Reporting a vulnerability

Email support@getdumpling.dev with the details. You will get a reply from the person who wrote the code, usually within a day. Please do not test against other customers' data; a free account against your own database and bucket is fine. There is also a /.well-known/security.txt.

What is not here: third-party audit reports or compliance certifications. Dumpling is run by one person (about) and does not have them. The design choice that makes this acceptable is that your data never passes through storage we control.