SDKInitOptions.engineUrl
A self-hosted copy of pdf-engine.bin — self-hosting licenses only. Online licenses download the engine from the asset store the license names, and there is nothing to configure. A license that includes self-hosting may serve the binaries and the bundled fonts from its own infrastructure; today that is an offline license, which names no store and always self-hosts. Fetch the file once from the store — the path is its digest under the engine folder, as Kernstra.assetDigests.engine names it — and pass where you put it.
Without self-hosting in the license, engineUrl, shaperUrl and subsetterUrl are refused by Kernstra.init() with FEATURE_NOT_LICENSED before anything is fetched. Every load is verified: an engine binary that is not this version's fails with ENGINE_LOAD_FAILED and never executes. A self-hosted copy is not kept in Cache Storage: it is fetched from your URL on each load, so serve it with your own HTTP caching headers. See Engine, binaries and fonts.
Example
await Kernstra.init({ license: import.meta.env.KERNSTRA_LICENSE, engineUrl: '/assets/pdf-engine.bin', shaperUrl: '/assets/pdf-shaper.bin', subsetterUrl: '/assets/pdf-subset.bin', });