Skip to main content
operations

On-prem (Technical)

active
Audience: developerUpdated 2026-07-26

Technical guidance for running and integrating Binoban in on-prem / air-gapped deployments.

Hosts must be set explicitly — don't rely on defaults

How you do this differs by platform:

  • Native SDK (Android + iOS) — apiHost defaults to blank. If it's blank, Configuration.isValid() fails and the SDK initializes in a disabled, no-op state instead of falling back to a Binoban-hosted default.
  • Web SDK — takes host.apiPath in its load settings (not apiHost). There's no per-tenant default: if you omit it, the SDK falls back to a build-time default baked into the bundle, which will not point at your deployment. For on-prem or air-gapped, set host.apiPath explicitly.

For an on-prem or air-gapped deployment, set apiHost (Native SDK) or host.apiPath (Web SDK) to your tenant's own host — never assume a public Binoban host is reachable, and never rely on the Web SDK's built-in fallback to reach it.

More than one host, by design

Because Retail Media/Ads traffic and core tracking traffic can be served from different endpoints, the Web SDK reads more than one host from its settings, each independently configurable:

HostUsed for
apiHostCore tracking ingestion — /api/tracker/sdk/{sourceIdentifier}/...
cdnSettings.integrations['Binoban.io'].apiHostAd requests — /api/tracker/ad
...ads.rtbHostRTB ad serving — /api/rtb/...
Planned

The exact public names and full set of these host settings (as you'd configure them, not as they appear internally) haven't been finalized for documentation yet. Confirm the current configuration surface with Binoban support before wiring an air-gapped deployment.

No implicit hosts

The Native SDK has no fallback at all: if a host setting is missing, it goes silent (the whole SDK becomes a no-op) rather than reaching out to a host outside your network — this is deliberate, for air-gapped safety. The Web SDK is the one exception: omitting host.apiPath doesn't disable it — the SDK falls back to a build-time default baked into the bundle, which may not be reachable (or may not be the host you intend) in an on-prem or air-gapped deployment. Set host.apiPath explicitly rather than relying on that fallback.

Distributing the SDK binaries in a disconnected environment

  • iOS — the XCFramework is fetched from https://static.binoban.io/sdk/ios/{version}/binoban.xcframework.zip by default (via Swift Package Manager or CocoaPods). In a fully air-gapped environment, this artifact needs to be mirrored inside your network — confirm the supported path with Binoban support.
  • Android — the library is published to Maven Central (io.binoban.sdk:sdk-android). In a disconnected environment, mirror it into your internal Maven repository.

Versioning in disconnected environments

Pin your SDK version explicitly (see the compatibility matrix) — an air-gapped deployment won't pick up updates automatically, so you control the upgrade cadence deliberately. See Versioning for how Binoban's contract versioning works.

Next steps