PDFFileElement: signed property

Works in all major browsers
Since July 2026

WebPDF works in Chrome and Edge 125, Firefox 153 and Safari 18, on desktop and mobile, and in every later version: the oldest versions its PDF.js build supports, which already have every platform feature WebPDF needs. Since July 2026, that is every major browser.

The signed read-only property of the PDFFileElement interface returns the status of the worst digital signature of a <pdf-file>.

Value

A string, or null when the file is not signed:

"pending"

The signatures are being checked.

"verified"

Every signature verified: intact, signed by a trusted signer, not revoked.

"unknown"

A signature could not be checked.

"untrusted"

A signer is not trusted: no trust anchors, or an unknown or self-signed issuer.

"expired"

A certificate was not valid at signing time.

"revoked"

A certificate was revoked.

"invalid"

A signature is broken or the signed part was changed.

The order from best to worst is verified, unknown, untrusted, expired, revoked, invalid. CSS sees the same value as a custom state, pdf-file:state(verified) and so on, while the element's attributes stay as written.

Examples

Warning about a broken signature

css
body:has(pdf-file:state(invalid)) .warning {
  display: block;
}
js
const file = document.querySelector("pdf-file");
file.addEventListener("verify", () => console.log(file.signed)); // "verified"

Specifications

Not part of any specification. <pdf-file> and <pdf-page> are autonomous custom elements defined by WebPDF.pro. It implements:

Specification
ISO 32000-2:2020 (PDF 2.0)
# 12.8 Digital signatures

Browser compatibility

desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
signed
1251251531111812515383182712518
  • signed · Chrome, Edge, Firefox, Opera, Safari, Chrome Android, Firefox for Android, Opera Android, Safari on iOS, Samsung Internet, WebView Android, WebView on iOS: Secure contexts (HTTPS) only; elsewhere every signature verifies as unknown.

Legend

Full support
See implementation notes.

See also