Some apps give the DOM nothing to read: a canvas, a cross-origin iframe. Then the hook sends a screenshot to POST /v1/check/screen instead of fields. The server reads it the way it reads an editor’s screen when they record rules by voice:
  1. OCR and PII redaction on the image (PII redaction).
  2. One vision read of the redacted frame into labels, values and grid rows.
  3. The same check as /v1/check/page.
The answer includes read: {state, rows}, what the reader saw. It’s slower: about 1 to 1.3 s per check (one vision read), against a few milliseconds for a DOM record. The vision read keeps 5 rows of a grid. Without a vision model configured, the server reads OCR pairs only.