Check who signed a PDF, when it was signed, and whether the signed content was changed. Free, no account needed.
Drag and drop or select a digitally signed PDF. Signatures stored as CMS/PKCS#7 (as in PAdES) are read.
Each signature is checked: signed bytes unchanged, signature valid for the signer's certificate, embedded certificate chain consistent, certificates within their dates.
See who signed, when, whether the signed content changed, the certificate details and any RFC 3161 timestamp.
POST https://api.econtract.online/verify-pdf, multipart field file, up to 50 MB. Free, no API key, 50 requests a day per IP. Reference: developer docs · OpenAPI.{
"document": {
"filename": "contract.pdf",
"hash": "sha256:a11f904a...",
"size": 245780,
"tampered": false
},
"signatures": [
{
"signer": { "name": "John Doe", "email": "[email protected]", "organization": "Acme Corp", "country": "US" },
"signed_at": "2026-03-21T10:54:51Z",
"reason": "Approved",
"verdict": "valid",
"integrity": true, "signature": true, "chain": true, "expired": false,
"certificate": {
"subject": "CN=John Doe, O=Acme Corp, C=US",
"issuer": "CN=Example CA",
"valid_from": "2026-03-01T00:00:00.000Z",
"valid_until": "2029-03-01T00:00:00.000Z"
},
"timestamp": { "time": "2026-03-21T10:54:52.000Z", "tsa": "CN=Example TSA", "algorithm": "SHA-256" }
}
],
"summary": { "total": 1, "valid": 1, "invalid": 0, "verdict": "all_valid" },
"verified_at": "2026-03-21T15:15:55Z",
"verified_by": "eContract - https://verify.econtract.online"
}