Security envelope
Eleven fields that appear on every document, every tier. You don't author these — the docgen signing service injects them at render time.
Templates should reserve space for these in their footer / verification panel but they are populated by the renderer. The envelope is what makes verification possible: verify.kaharagia.org looks up the serial number and confirms whether the document is valid, revoked, or expired.
Fields
| Tag | Example value | Font | Size | Reserve |
|---|---|---|---|---|
{{envelope.serial}}req | KAHA-DOC-B-2026-9F2K3X7M | AaNoto Sans Mono | 8pt | ~52 chars |
{{envelope.issued_at}}req | 2026-05-30 01:42 UTC | AaNoto Sans Mono | 8pt | one line |
{{envelope.expires_at}} | 2026-08-28 01:42 UTC | AaNoto Sans Mono | 8pt | one line; null on certified |
{{envelope.issuer}}req | Royal Kaharagian General Register Office | AaNoto Sans | 8.5pt | ~60 chars |
{{envelope.issuer_certificate}} | CN=stateserver.kaharagia.org, O=Principality of Kaharagia, C=KH | AaNoto Sans Mono | 7.5pt | may wrap |
{{envelope.signature_alg}}req | HMAC-SHA256 | AaNoto Sans Mono | 7.5pt | short word |
{{envelope.hash}}req | 3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b | AaNoto Sans Mono | 7.5pt | reserve 70mm + wrap |
{{envelope.signature}}req | JTYGNkjN74fX2YAoiNNcFLsQL3Z… | AaNoto Sans Mono | 7.5pt | reserve 70mm + wrap |
{{envelope.control_number}}req | 552-179-899 | AaNoto Sans Mono | 8.5pt | ~12 chars |
{{envelope.verify_url}}req | https://verify.kaharagia.org/document/KAHA-DOC-B-2026-9F2K3X7M | AaNoto Sans Mono | 8pt | reserve 80mm + may wrap |
{{envelope.qr_svg}}req | <inline SVG of the verify URL> | Aa(image) | 30mm × 30mm (electronic) / 22mm × 22mm (certified) | preserved aspect, square |
Where to place the envelope
Dedicated Document Verification panel as the visual climax — bordered box with QR alongside the full envelope grid. Sits at the bottom of the page just above the footer.
Compact verify strip along the bottom edge — QR + serial + control number + issued timestamp. Quieter than the electronic panel because the wet seal is what authenticates this tier.
What you write in your template
You don't render the envelope fields individually — instead you place a marker tag where the panel should appear and the renderer substitutes the full block:
HTML / Handlebars<!-- Electronic copy --> <div data-envelope-panel></div> <!-- Certified copy --> <div data-envelope-strip></div>
If you need to reference a specific envelope field elsewhere in the document (e.g. printing the serial in the footer), the dotted-path tags above are available like any other field: {{envelope.serial}}.