openOM

Quick-start · portal / consumer

Goal: read and trust openOM data on PDFs you host or receive - with an honest badge, never overclaiming.

Drop-in badge (one script tag)

<script src="https://openom.app/widget/openom-badge.js" defer></script>
<openom-badge src="https://cdn.example.com/deal.pdf"></openom-badge>

The badge re-fetches the bytes and runs the deterministic read/verify path. It shows Unaltered since embed for integrity, Origin-verified only when a same-domain mirror matches, and nothing when there is no payload.

In your own code (Node)

import { readPayloadFromBytes } from "openom-js";
const r = await readPayloadFromBytes(pdfBytes);
if (r.state === "present" && r.verification.hashValid) useIt(r.payload);

Change notifications: verify webhook deliveries with the reference receiver - signature → envelope → payloadHash binding, in that order.