Customer guide
Install SavyScan
Validate access on your server, install the public npm package, and keep documents entirely inside your application.
01 / Access
Receive a SavyScan license
The npm package is public and needs no package credential. SavyScan provides one domain-bound trial or commercial license key. Store it as an encrypted server or deployment secret. Never include the license key in browser JavaScript, HTML, a mobile bundle, source control, logs, or a public environment variable.
Domain binding. Your trial works only for the exact production and staging domains approved for it and stops at the stated expiration time. Ask SavyScan before introducing another hostname.
02 / Server validation
Validate before granting scanner access
Call the validation endpoint from your backend. Use the hostname your user will actually open. Cache a successful result briefly if needed, but never treat a cached response as valid beyond expiresAt.
const response = await fetch(
"https://savyscan-reporting-6qmsd.ondigitalocean.app/v1/licenses/validate",
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SAVYSCAN_LICENSE_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ domain: "app.example.com" }),
},
);
const access = await response.json();
if (!response.ok || !access.valid) {
throw new Error(`SavyScan access unavailable: ${access.reason || "validation_failed"}`);
}The endpoint returns only valid, a bounded reason when denied, and limited license metadata when accepted. It never receives document images, PDF bytes, OCR text, filenames, recipient addresses, or scanner output.
03 / Package
Install the approved release
npm install --save-exact @savyscan/[email protected]
mkdir -p public/vendor/savyscan/opencv/4.13.0
cp node_modules/@savyscan/web-sdk/dist/vendor/opencv/4.13.0/opencv.js \
public/vendor/savyscan/opencv/4.13.0/opencv.jsContinue with the complete integration guide for initialization, lifecycle handling, PDF preview, errors, Content Security Policy, and host-controlled upload or email.
04 / Release gate
Test your own workflow
Before enabling production users, test automatic and manual capture, crop, rotate, multiple pages, completion, PDF preview, and your upload or email workflow on each supported device/browser combination.
Privacy boundary. Scanning and PDF generation remain in the browser. License validation is a separate, content-free server request.