Hard preflight
Browser document, Blob, TextEncoder, object URLs, WebAssembly, Canvas 2D, and canvas.toBlob().
SavyScan SDK 0.5.0-beta.7
Beta.7 passed its automated browser, page-state, and crop-magnifier checks. The named iPhone, iPad, and Samsung workflow passes remain beta.6 evidence until the updated touch behavior is rerun on physical devices.
01 / Inherited evidence
The complete SavyScan 0.4.0 workflow passed in tested Apple and Android production environments on July 21, 2026: open a purchase order, launch SavyScan, use automatic and manual capture, crop and rotate, add a second page, complete the scan, preview the PDF, and verify the emailed attachment. The scanned content was not recorded for those historical runs.
What this proves. The exact 0.4.0 runtime completed a production purchase-order-to-email path in the tested Apple and Android environments.
What it does not prove. Device models, operating-system builds, and browser names/versions were not recorded. This evidence cannot be labeled Safari, Chrome, iPhone, iPad, Pixel, Samsung, or a platform-wide support guarantee. The beta also contains changes beyond the 0.4.0 build.
02 / Evidence ledger
| Environment | Build and evidence | Status | Boundary |
|---|---|---|---|
| Apple production environment; device, browser, and scanned content unspecified | 0.4.0 production workflow, July 21, 2026 | Host-smoke passed | Not proof of Safari, iPhone, iPad, or an OS/version floor. |
| Android production environment; device, browser, and scanned content unspecified | 0.4.0 production workflow, July 21, 2026 | Host-smoke passed | Not proof of Chrome, Pixel, Samsung, or an OS/version floor. |
| Node component and qualification harnesses | 0.5.0-beta.7; 56 deterministic runtime, integration, and evidence-policy tests | Automated repository | Fake DOM and camera; no browser rendering or hardware. |
| Static site harness | 0.5.0-beta.7; route, asset, evidence-digest, header-policy, and documentation tests | Automated artifact | Validates the suite artifact and persisted record but does not itself execute scanning. |
| Playwright Chromium on macOS; Chrome/150 user-agent identifier | 0.5.0-beta.7; six scenarios across desktop and 390×844 viewports covering the 8/8 photo workflow, per-page state, and precision crop magnifier, July 24, 2026 | Recorded browser self-test and regression | Pointer and narrow-layout logic passed; camera hardware, a real touch digitizer, and physical orientation gestures remain outside this check. |
| iPhone 15 Pro Max; Chrome 150.0.7871.113; tester-reported iOS 26.5 | 0.5.0-beta.6; tester-attested 8/8 plus the full capture-to-email workflow with real documents, July 22, 2026 | Workflow passed | Successful beta.6 product test; beta.7 touch behavior still needs a physical rerun. |
| iPhone 15 Pro Max; Safari 26.5; tester-reported iOS 26.5 | 0.5.0-beta.6; tester-attested 8/8 plus the full capture-to-email workflow with real documents, July 22, 2026 | Workflow passed | Successful beta.6 product test; beta.7 touch behavior still needs a physical rerun. |
| Samsung Galaxy Z Flip3; Chrome reduced identifier 150.0.0.0; tester-reported Android 15 / One UI 7.0 | 0.5.0-beta.6; tester-attested 8/8 plus the full capture-to-email workflow with real documents, July 22, 2026 | Workflow passed | Successful beta.6 product test; beta.7 touch behavior still needs a physical rerun. |
| Tester-reported iPad (A16); Safari 26.4; MacIntel user-agent identifier | 0.5.0-beta.6; tester-attested 8/8 plus the full capture-to-email workflow with real documents, July 22, 2026 | Workflow passed | Successful beta.6 product test; beta.7 touch behavior still needs a physical rerun. |
The beta.7 automated suite loaded the pinned OpenCV asset, exercised per-page state and the crop magnifier, returned a structurally checked two-page PDF Blob, and verified lifecycle cleanup. The named physical devices completed automatic and manual capture, crop, rotation, multipage completion, PDF preview, email delivery, and attachment inspection with beta.6. Those beta.6 results remain the baseline for customer free trials but do not claim a physical beta.7 pass.
03 / Trial coverage
The tested devices establish a strong starting point. During a free trial, each customer confirms SavyScan inside its own host workflow, browsers, devices, and PDF delivery path before production use.
| Target | Current status | Trial approach |
|---|---|---|
| iPhone Safari | Workflow passed | Confirm the customer's exact iPhone, Safari version, and host delivery workflow during the trial. |
| iPad Safari | Workflow passed | Confirm the customer's exact iPad, Safari version, normal layout, and Split View if they use it. |
| Android Chrome — Pixel-class | Trial candidate | Run the customer workflow on the intended Pixel model because this class has not yet received a named-device pass. |
| Android Chrome — Samsung-class | Workflow passed | Confirm the customer's Samsung model, Chrome version, and host delivery workflow during the trial. |
| Branded desktop Chrome, Edge, Safari, Firefox | Available for evaluation | Use the self-test and the customer's file-import, editing, PDF, and lifecycle workflow. |
| In-app browsers and embedded WebViews | Outside initial trial scope | Evaluate separately because permissions, storage, lifecycle, and host bridges differ from normal browser tabs. |
04 / Runtime requirements
Browser document, Blob, TextEncoder, object URLs, WebAssembly, Canvas 2D, and canvas.toBlob().
HTTPS or localhost, getUserMedia, camera permission, and hardware. Without them, existing-image import remains available.
ImageCapture, track capabilities, createImageBitmap, VisualViewport, and ResizeObserver have fallbacks. Pointer Events drive drag editing; keyboard corner editing is available.
OpenCV policy. The pinned 4.13.0 JavaScript build creates dynamic functions in addition to compiling WebAssembly. The demo and qualification pages allow 'unsafe-eval' and also declare the narrower 'wasm-unsafe-eval' token explicitly; 'unsafe-eval' already permits WebAssembly compilation. The browser run proved that 'wasm-unsafe-eval' alone is insufficient. Other documentation pages retain script-src 'self'. A capability pass alone is not a support guarantee.
The picker accepts one image up to 20 MiB. It does not accept PDFs. Manual capture still enforces the same final lighting and sharpness gate as automatic capture.
05 / Trial workflow
Keep the automated self-test as the release regression gate. During a free trial, run the complete customer workflow on the devices and browsers that customer intends to use. Repeat the practical trial checks when the SDK, host integration, or target environment changes materially.