The kit lets a customer keep its browser sandbox, credentials, and execution
code while Witnora verifies a narrow enforcement boundary. The current kit is
included in the witnora package and initialized by the Witnora CLI; it is not
a separate product or credential vault.
The v0.1 kit rejects production actions. Passing conformance does not prove that the vendor, browser, customer secret provider, or production system is secure.
npx witnora@latest browser-adapter init
npx witnora@latest browser-adapter certify --adapter witnora.browser-adapter.mjs
The synthetic fixture should pass at 100%. This proves package resolution, Node runtime, public subpath, and local reporting before customer code enters.
Replace targetSystem, allowedOrigins, allowedOperation, and
allowedResource. Paths, wildcards, HTTP origins, and embedded credentials
are rejected. Leave sandbox: true unchanged.
Implement resolveWriteCredential and resolveReadCredential with separate
secret-provider references. Never place credentials in the fixture, action,
browser prompt, tool arguments, logs, evidence, or Witnora Hosted.
Implement the write callback, independent read-only outcome callback, and target audit query. Return one audit event bound to the action, operation, resource, and parameter digest. Use the provided idempotency key at the vendor boundary.
npx witnora@latest browser-adapter certify \
--adapter witnora.browser-adapter.mjs \
--out .witnora/browser-adapter/conformance.json
Do not proceed if credential separation, target audit reconciliation, outcome verification, revocation, or secret redaction fails.
Run npx witnora@latest onboard --project <project-id> first. The generated
Gateway registers its Ed25519 runtime identity, consumes short-lived execution
grants for approved and mandated actions, and revokes unused grants. Runtime
claims and evidence remain customer-signed and are verified by Witnora Hosted.
See Browser Enforcement Boundary v0.2 and Evidence Trust Chain for protocol limitations.