Renderer Guard Certification

Phase 16 — Production Rendering Pipeline Regression Suite

6

Total Checks

0

Passed

0

Failed

0

Skipped

Frontend passes sendPreGenerated=true

LetterPdfPreview sendLetter() passes sendPreGenerated: true to initiateLetterDelivery

Renderer Guard blocks legacy sends

initiateLetterDelivery returns RENDERER_GUARD_VIOLATION when sendPreGenerated is omitted

PNGs originate from LetterRenderSurface

captureSurfaceAsPngs captures [data-capture-page] elements from the render surface

PDF originates from browser jsPDF

generatePdfFromPngs constructs the PDF from browser-captured PNGs, not server-side buildPdf

No HTML tags in generated PDF

PDF binary is scanned for <div>, <span>, <html>, <p> — none should appear in the text layer

Renderer Guard present in initiateLetterDelivery

The guard code block exists in the backend function source

Certified Architecture

Letter Writer → Save → Preview (/view-pdf)
    ↓
LetterRenderSurface (Browser Authority)
    ↓
browserLetterRenderer.js
    ├─ captureSurfaceAsPngs (html2canvas) → PNGs
    └─ generatePdfFromPngs (jsPDF)       → PDF
    ↓
initiateLetterDelivery (sendPreGenerated=true)
    ↓
[RENDERER GUARD: legacy buildPdf() BLOCKED]
    ↓
Resend → Recipient
        

Dear Friend,

This is a test letter for Renderer Guard Certification.

It verifies that rich text is preserved through the browser pipeline.

Love, Test Sender