Module order forms

When you install an Official Module, StrataCTL records a short order form — the per-account license for that module. You don't fill anything out or email anyone: the CLI shows you the terms, you accept once, and StrataHQ records it. Oh — the ctl is handling it.

This page explains what that record is, what it means for how long a module keeps running, and how to review the order forms on your account. It covers Official Modules only; the StrataBI platform itself is licensed under your master Enterprise agreement, not an order form.

What happens at install

When you run stratactl install <module> (or update) against StrataHQ, the CLI prints a short notice like this and asks you to proceed:

text
Installing module: stratachat  v1.7.1  (account 0638XXXXXXXX)
Subject to the StrataBI Official Module Order Terms (v1.0):
    https://shaleio.com/legal/module-order-terms.html
Proceeding extracts the module under your license token. Terminal approval, or
extraction via the entitlement pipeline, constitutes your acceptance of these terms.
Agree and proceed with stratachat@1.7.1? [y/N]
  1. You confirm with y. For CI or scripted installs, --yes (or STRATA_ACCEPT_ORDER_FORM=1) proceeds non-interactively, and the method is recorded.
  2. The acceptance — the terms version, the terms URL, a hash of the exact terms text, and a timestamp — rides along with the normal entitlement request.
  3. StrataHQ writes the authoritative record, stamped with the SigV4-verified AWS account making the request and the Premier status StrataHQ evaluates at that moment. The stamp is server-side, so the record reflects the verified account and real entitlement state, not anything the client asserts.

The full terms live at shaleio.com/legal/module-order-terms.html. If you decline at the prompt, nothing is extracted and the install stops.

Extraction is acceptance

You don't have to use StrataCTL for the terms to apply. Terminal approval, or extraction of a module using your bearer token through the entitlement pipeline, signifies concurrence to the Official Module Order Terms — the authenticated API call is itself the act of acceptance, recorded against your verified AWS account. A modified, alternative, or automated client therefore does not avoid the terms: if the module came out of StrataHQ under your license token, the order form is in force and recorded. Each record stores an acceptance_basis of either cli_affirmative (you confirmed in the CLI) or api_extraction (the authenticated extraction itself).

What the license says

The order form is the per-module expression of a simple, ownership-based model:

Note
Security is handled as a courtesy, not an obligation: any security notices or fixes Shaleio provides for lapsed accounts are at Shaleio's discretion. Keeping Premier active is how you stay current on updates.

The full terms are shown by the CLI at install time and are incorporated into your StrataBI Commercial License. The terms text is hashed into each record, so the exact language you accepted is always provable.

What gets recorded

One record per (account, module, version). Re-installing the same version updates the "last extracted" fields; the original issuance (first_accepted_at, the Premier status at issue) is immutable. Each record captures:

FieldMeaning
module_id / versionThe module and version licensed.
first_accepted_atWhen the order form was first issued (immutable).
last_extracted_at / last_actionMost recent install/update of this version.
premier_status_at_issuePremier state when first issued: valid / lapsed / none.
terms_version / terms_sha256Which terms were accepted, by content hash.
accepted_byHow it was accepted: interactive, --yes, or env.
license_model / run_rightperpetual_per_account / perpetual.

Reviewing your order forms

Order forms live in a dedicated StrataHQ table (the record repository). An operator with admin access lists them through the admin Lambda:

bash
# all order forms on the account
aws lambda invoke --function-name stratahq-prod-admin \
  --payload '{"op":"list_order_forms"}' out.json && cat out.json

# just one customer account
aws lambda invoke --function-name stratahq-prod-admin \
  --payload '{"op":"list_order_forms","customer_id":"063876841308"}' out.json

Each entry is the perpetual, per-account run license for one module version, with the stamp fields above.