An explicit contract around your application action.
Keep your own authentication, validation, CSRF controls and business operation. Blokk returns evidence and an assessment; your backend owns the action.
Use the working action lifecycle.
- Prepare a scoped attempt on your backend for a configured action.
- Optionally collect a bounded browser snapshot and receive an opaque receipt.
- Validate the normal business request and assess it on your backend.
- Record the policy and actual action separately. Report later confirmed outcomes and corrections.
Read the SDK and API lifecycle
Choose the integration mode deliberately.
Bound mode ties evidence to an expiring attempt, session, origin and action. Submit-only mode works with cached pages but has weaker, unbound browser evidence; it must be enabled per action. Exact retries preserve results and altered input under the same key is rejected.
Failure does not equal automation.
Missing observations, malformed receipts and detector outages remain distinct. The server SDK distinguishes invalid requests from service unavailability. In the default shadow integration, the application continues its normal action under its own controls when Blokk is unavailable.
Shopify has its own boundaries.
The Shopify adapter translates platform identity and events into the same core. Theme embeds and pixels cannot replace a backend enforcement hook. A public app cannot assume unrestricted network fetch from a checkout Function. Inspect Shopify coverage.
Compatibility and data minimisation
The server implementation uses Node 22–24 and the browser SDK uses ordinary browser APIs. Northstar and Quillmark remain separate local integration fixtures. Use pseudonymous, server-derived account references; never send raw customer IDs, secrets, form contents or payment credentials through the generic API.