CLI security and development status
Native broker boundary, online entitlement rules, source testing, and release limitations.
Native session broker
The Node.js process sends token-free operations across a native macOS broker boundary. The native broker owns OAuth code exchange, token refresh, authenticated service requests, remote revocation, and secure credential storage. Raw access and refresh tokens are not part of the Node protocol.
- Session credentials are stored in the macOS Keychain as non-synchronizing, device-only items available only while the device is unlocked.
- The broker validates the exact IPC version, contract version, client identity, request shape, executable caller policy, and bounded message size.
- Credential-like fields and sensitive URLs are rejected from broker responses before they can reach Node output.
- Production caller verification requires an approved signed executable identity. Development caller allowances are not a production trust policy.
The merged package intentionally defaults to secure_storage_unavailable for every session-bearing command. This prevents a source build from falling back to raw token files or an unapproved credential helper.
Online-only entitlement
The CLI uses the online-mvp-1 profile. Entitlement must be freshly verified by the Thalix service; unreachable service, invalid server time, expired evidence, inactive billing/allocation/installation state, or any malformed response prevents authorization. No offline license, cached offline grace, or local override is implemented.
Local source verification
The following commands are for authorized development from a private source checkout. They are not public installation instructions.
npm ci
npm run check
npm run test:nativeRepository CI verifies the supported Node.js 22.x and 24.x ranges on macOS, runs TypeScript and native tests, audits dependencies, checks the package contents, and confirms that an ordinary installed development package fails closed without the approved broker.
Distribution limitations
- Package version 0.1.0 is private and unlicensed for public distribution.
- No npm package has been released.
- No production-signed or notarized native session broker has been released.
- The CLI must not be represented as publicly downloadable or installable.
Last verified 2026-08-07 ยท thalix-cli@fb55d364e85cf4fdde409f42b30332bee6440e64