Embed signing inside your product — in an afternoon.
A drop-in iframe widget with a typed REST API, signed webhooks, and full white-label theming. The same surfaces we use to power VG·Sign — exposed for yours.
v3.4.2 · OpenAPI · TypeScript SDK
Three lines of HTML.
Renders a sealed signing experience inside any container — your dashboard, your customer portal, your white-labelled invoice page.
<script src="https://cdn.vg-sign.com/embed.v3.js"></script> <div id="vg-sign" data-envelope="env_8f4a2c1e9b3d" data-key="pk_live_8c2…" data-theme="auto"></div> <script> VGSign.mount({ onSigned: event => toast(`✓ Sealed: ${event.envelopeId}`), onDeclined: event => reroute("/agreements/inbox"), }); </script>
Acme · Customer portalYour app
Drop-in
One script tag, one div. No build pipeline, no React peer dep.
Themable
14 CSS custom props. Match your brand without forking.
Sandboxed
Postmessage-only. Your DOM stays untouched.
Resilient
Falls back to a hosted page on CSP failure.
White-label theming.
Fourteen CSS custom properties — set them, save them on a workspace, ship them. The “powered by” mark is opt-out on Enterprise plans.
{
"--vg-bg": "#0A1A2E", // background
"--vg-bg-1": "#0E2238", // surface
"--vg-ink": "#FFFFFF",
"--vg-accent": "#7BB3FF", // your brand
"--vg-accent-ink": "#0A1A2E",
"--vg-radius": "4px",
"--vg-font-display": "Inter Tight, sans-serif",
"--vg-font-script": "Caveat, cursive",
"--vg-logo-url": "https://acme.co/logo-white.svg",
"--vg-poweredby": "hidden" // enterprise only
}Auth & rotation.
01
Publishable keys
Prefixed pk_live_ / pk_test_. Embed in front-end, scoped to widget mount only.
02
Secret keys
Prefixed sk_live_. Server-side only. Auto-redacted in logs and webhook UIs.
03
Rotation
One key generates two — old and new — both live for a 7-day overlap. Webhooks announce key.rotated.