Technical details

Where your content goes, what SaveProof stores, and what you can verify yourself.

What you can verify. The browser checks the Proof signature using a published Public Key and compares the Certificate or decrypted content with its Document Fingerprint. Original files are checked locally when you select them.

What depends on SaveProof. SaveProof sets the recorded time, publishes Public Keys, protects its keys, and runs the release service. The time is not independently certified, and Protected Package has not yet completed an independent security review.

01

Creating a Proof

  1. Your browser reads your note and files

    It calculates a Document Fingerprint from the ordered composition. The original files stay on your device.

  2. SaveProof signs the Proof

    The server receives the Document Fingerprint, assigns a Verification ID and recorded time, and signs the record.

  3. Your browser builds the result

    It creates a Certificate or encrypts the content into a Protected Package. You keep and share the resulting file.

For an ordinary result, the browser also registers the exact complete-file fingerprint and size, plus the Certificate PDF fingerprint. For a Protected Package, it registers protected-component fingerprints and the chosen Release Policy.

02

What the result reveals

Ordinary Certificates and SaveProof Packages contain the note and readable original files. Anyone with the file can read and extract them. Up to 50 files and one optional note are allowed; content up to 20 MiB uses PDF, larger content uses a package up to 1 GiB. Older Certificates without originals remain verifiable.

A Protected Package contains an Encrypted Bundle with the note, file names, and original file bytes. Encryption and decryption happen in the browser. You keep and share the package yourself; SaveProof does not store it.

03

Opening a Protected Package

Creating one requires a SaveProof account. A recipient does not need an account, but must have the matching package.

  1. The recipient has the matching package

    The browser checks its signed public records and protected components before asking for access.

  2. SaveProof checks the Release Policy

    When the policy allows it, the server returns its Release Secret. The package itself is not sent to SaveProof.

  3. The browser opens and verifies the content

    If an Encryption Passphrase was set, the recipient enters it locally. The browser then decrypts and checks the note and every file.

The Release Policy controls SaveProof's later delivery of its secret. The creator already had the original content and received the Release Secret during preparation, so they could keep or share either before the policy allows a new delivery.

04

When access is released

Each Protected Package has one Release Policy. The policy controls when SaveProof provides its Release Secret, not how the content is encrypted.

Immediate Release
A holder of the matching package can request the Release Secret immediately. SaveProof records the delivery; there is no deadline.
Manual Release
The owner makes one irreversible release decision. SaveProof records its time. Afterward, any holder of the matching package can request access.
Scheduled Release
SaveProof stores a fixed release time. At or after that time, a holder can request access; nothing is sent automatically.
Renewable Hold
SaveProof stores the interval and current deadline. Each renewal before the deadline starts a full new interval from the time it is accepted. Without renewal, holders can request access after the deadline.

Deadlines and renewals use the database clock. Reminders for a Renewable Hold are best effort and do not change its deadline. If enabled when the package was created, Cancel Future Release must happen strictly before the scheduled time or current Renewable Hold deadline and before any release. Cancellation is permanent and cannot undo an earlier delivery.

An optional global delivery limit restricts new online deliveries of the Release Secret. It cannot take back a secret that has already been delivered.

05

Encryption Passphrase

An optional Encryption Passphrase adds a second condition to every Release Policy. Opening then requires both SaveProof's Release Secret and the passphrase entered in the recipient's browser. SaveProof does not receive or store the passphrase or a reusable passphrase check.

Without a passphrase, someone with the package and access to SaveProof's Release Secret could open it, even before the Release Policy allows access. A passphrase makes the server material alone insufficient, but a weak passphrase may be guessed after the Release Secret is obtained. SaveProof cannot recover a lost passphrase.

06

What SaveProof stores

Every Proof has a Document Fingerprint, Verification ID, recorded time, signed record, and Public Key reference. An ordinary result also has an exact complete-file fingerprint and size, plus its Certificate PDF fingerprint. If you sign in with Google, SaveProof stores your Google account subject ID, email, display name, optional profile image URL, session metadata, your chosen interface and reminder email languages if set, and ownership links.

For a Protected Package, SaveProof additionally stores its package ID, owner link, Release Policy and current state, protected-component fingerprints and sizes, an encrypted Release Secret, and release events. It may store a fingerprint and size of the completed package for an exact-copy check. Renewable Hold also stores reminder status.

SaveProof does not store the package, original files, recorded note, Encryption Passphrase, or complete content-decryption key. Public metadata such as the Verification ID, policy, timing, and package size can still reveal information about a package. A Document Fingerprint is not encryption.

07

Proof limits and technical methods

A Proof does not establish authorship, ownership, identity, truthfulness, or legal validity. A Key Release Event records that SaveProof issued its part of the unlock material; it does not prove that a recipient decrypted or read the content.

An outage may delay a new release. Once the Release Secret or plaintext has been delivered, access cannot be taken back.

Technical methods

SaveProof uses SHA-256 for fingerprints and Ed25519 to sign versioned Proof records. Protected Packages use AES-256-GCM with a fresh content key. An optional passphrase contributes an Argon2id-derived factor to the key envelope; the server's Release Secret is encrypted at rest with a separate key.

Private by design. SaveProof records the Proof without storing your content.