Seal: when you upload a PDF, we hold it in memory just long enough to compute its digest, embed the hybrid signature, and stream the sealed file back. The original bytes are dropped — we do not write them to disk, we do not push them to S3, and we do not retain a cached copy. The audit record is a row containing the hash, the two signature values, the RFC 3161 token, and the certificate chain. Tenant-scoped (PK TENANT#{id}, SK SEAL#{ulid}); cross-tenant queries are blocked at the repository layer.
Vault: encrypted envelope blobs do live in S3 (we have to keep them so recipients can decrypt later), but they are AES-256-GCM ciphertext encrypted under a per-document data key that we ourselves cannot recover without the recipient's authentication. Per-recipient wrapped keys live in Postgres next to the audit row. Recipient private keys are KMS-wrapped; Enterprise tenants can BYOK to their own KMS or HSM so we never see the unwrapping key.
The Certificate of Sealing PDF — a human-readable summary linked from the public verifier — is the only PDF we retain for the Seal product. It contains no part of your original document and can be deleted on request.