Trust

Data handling

What happens between uploading a delivered test and keeping its report.

Verified against the application and deployment on 19 October 2026

The uploaded source

An authenticated upload accepts one .eml up to 2 MiB (2,097,152 bytes). The request reads and parses it to extract resources. Raw email body content, attachment bytes and the .eml source are not stored in SendProofs domain tables. They are handled in process memory and temporary request processing. This is an application-storage statement, not a promise that no temporary infrastructure copy exists.

Use a campaign test delivered to your own inbox. Do not upload unnecessary personal data, credentials or confidential attachments. SendProofs does not connect to your mailbox.

What a report keeps

Message details
Subject up to 500 characters, sender address up to 320 characters, message id and timestamps.
Resource URLs
Extracted HTTP link and image URLs, plus final URLs after redirects. Original and final URL fields are encrypted at the application level.
Display evidence
Redacted display URLs and redirect steps, short resource labels up to 200 characters, resource kind and occurrence counts.
Results and usage
States, status codes, warnings, error codes, durations, check timestamps and resource-check allowance records.

Redaction has limits

Display URLs replace non-UTM query values with [REDACTED]. Recognized token-like path segments, UUIDs and segments following sensitive keywords are also redacted. The five standard UTM query values stay visible for review. A personal name, email address or secret in an unexpected path, label or UTM value may remain visible. Minimize these values at source; pattern matching is not a complete privacy filter.

Network requests and hosting

Eligible public resources are requested with the SendProofs/0.1 user agent. Each redirect is screened again. Recognized action-bearing links are not requested; recognition is pattern-based and cannot identify every possible action. Requested URLs can themselves contain identifiers, which may reach the destination server. See the security model for request budgets and network limits.

The application, PostgreSQL database, Redis queue and local file storage run on Hetzner Cloud infrastructure in Helsinki, Finland. Sentry error monitoring is not currently enabled. Website connections to Google for fonts and the paused consent bootstrap are described separately in the privacy notice.

Current retention and removal

Reports remain available for earlier evidence. Scheduled automatic deletion is not active. Reports are not automatically deleted after the configured plan periods, and an inactive workspace does not expire automatically.

To request manual removal of a report or account, write to vmarcetic@bytecode.hr from your account email. Identify the report or workspace without attaching its original email. We may need to confirm your authority. Removal from the live application does not establish that every operational record or backup copy has already been erased. We do not promise a fixed backup purge period; the response will explain the scope and any lawful retention exception.

Questions about a field or request

Contact vmarcetic@bytecode.hr. The privacy notice explains purposes, rights and the complaint route. The terms of service describe use of the free workspace.