Licensing

This chapter documents open, signed entitlement, and floating license startup patterns in WbW-R.

Licensing mode is an operational dependency that should be explicit in scripts. The objective is to make startup behavior predictable and auditable: define which mode is expected, how fallback is handled, and what diagnostics are captured when activation fails.

Open Mode

Use this mode for OSS-only workflows or environments without entitlement needs.

library(whiteboxworkflows)

s <- wbw_session()
print(s)

Signed Entitlement Mode

Use this for managed deployments with entitlement payload verification.

library(whiteboxworkflows)

signed_entitlement_json <- '...'

s <- wbw_session(
  signed_entitlement_json = signed_entitlement_json,
  public_key_kid = 'k1',
  public_key_b64url = 'REPLACE_WITH_PROVIDER_KEY',
  include_pro = TRUE,
  tier = 'open'
)

print(s)

Floating License Mode

Use this for centrally managed license allocation across users or machines.

library(whiteboxworkflows)

s <- wbw_session(
  floating_license_id = 'fl_12345',
  include_pro = TRUE,
  tier = 'open',
  provider_url = 'https://license.example.com',
  machine_id = 'machine-01',
  customer_id = 'customer-abc'
)

print(s)

Failure Handling Guidance

  • Validate session creation at script startup and fail early.
  • Capture and log runtime startup errors for entitlement/floating modes.
  • Use open mode fallback only when policy allows.

Security and Operations Notes

  • Keep entitlement payloads and keys out of source control.
  • Prefer environment-variable or secret-store injection.
  • Record runtime version and startup mode for reproducibility.