Home

Security & data handling

Last updated: 2026-07-14

This page is written for developers evaluating SubmissionBuddy. It describes what actually happens to a submission, not marketing language — every claim below reflects how the pipeline is built.

Durable-write-before-acknowledge

When a submission hits our ingestion endpoint, we write the raw payload to object storage (Amazon S3) before we publish a queue message and before we return a response. If anything downstream fails after that point, the raw submission already exists in durable storage and can be replayed.

Reference-based queues

Queue messages never carry the submission payload itself — only a reference to it (an S3 key and a form ID). Each processing stage fetches the payload it needs from storage using that reference. This keeps queue messages small and means a stage can be retried without re-transmitting data.

Automatic retries

Each pipeline stage runs as an independent queue consumer. If a stage fails (a transient database error, a downstream timeout), the message becomes visible again after a timeout and is redelivered automatically — you don't need to build your own retry logic on top of us.

Idempotent processing

Processing a submission twice (for example, after a retry) doesn't create a duplicate record. We insert submissions keyed on the S3 object reference with a conflict-safe insert, so a redelivered message is a no-op rather than a duplicate.

Encryption

Data retention

Rate limiting

Every submission is checked against two independent rate limits before it's accepted:

Rate limits are enforced against a durable store (not in-memory), so they hold up across concurrent requests and Lambda invocations. Requests over the limit get an explicit 429 response.

Spam and abuse protection

Data location

Our infrastructure runs on AWS in the United States (us-west-2). Our database is hosted in the United States.

Access control

The database role our application uses to read and write submission data is scoped to only the operations the application needs — it is not a superuser or admin role.

Questions

If you have a question we haven't answered here, email support@submissionbuddy.io.