Free 3-state browser check · Zero snippet installation required. Open sample report →
CLI · OPENAPI 3.1

CLI & CI/CD Gatekeeper.

CLI Usage

Build this repository first. The CLI is included in the production build; no unpublished npm package is required.

npm ci
npm run build
# Hosted checks: create an API key in /account. Keep it in CI secrets.
export ZUTMCHECK_API_URL=https://zutmcheck.ytriple.dev
export ZUTMCHECK_API_KEY=YOUR_SECRET_KEY
node dist/cli/index.js audit https://acme.com/demo --mode=contract --target-type=hubspot_form --json
node dist/cli/index.js compare aud_before aud_after

Without ZUTMCHECK_API_URL the CLI runs locally and requires Playwright Chromium and a writable SQLite path. Both report IDs must exist in that local database.

CLI Exit Code Protocol

IMPROVED is not Verification Passed. All three consent states must be resolved.

GitHub Actions CI Example

Run from a checkout of this repository. Supply the hosted service URL and API key using repository secrets.

- uses: actions/setup-node@v4
  with:
    node-version: 22
- run: npm ci && npm run build
- run: node dist/cli/index.js audit https://acme.com/demo --mode=contract
  env:
    ZUTMCHECK_API_URL: ${{ secrets.ZUTMCHECK_API_URL }}
    ZUTMCHECK_API_KEY: ${{ secrets.ZUTMCHECK_API_KEY }}

OpenAPI schema · Manage API keys