Email security@workerkit.ai. Please do not open public issues for security reports.
This document covers the CLI specifically. For the platform, see the Security Overview, Privacy Policy, and Terms of Service.
wk auth loginobtains a manager key approved in the browser by an account admin. The key is delivered only to the terminal that started the login (the browser never displays it), and it appears immediately in your dashboard's manager-key list, where it can be revoked at any time.- The key is stored in your OS keychain (Windows Credential Manager, macOS Keychain, or the Secret Service on Linux) when one is available. Without a keychain it falls back to a file under your user config directory, written with owner-only permissions on POSIX systems.
- Resumable login stores its request ID and polling secret in a private pending-request file in that
config directory. It uses owner-only permissions on POSIX; on Windows it inherits the directory's
user-scoped ACL. The polling secret is sent only in a request header and is never printed, placed
in a URL, or included in JSON output.
wk auth login --cancelrevokes any uncollected key before removing the pending request. - When
WK_CONFIG_DIRis set, keychain entries use a namespace derived from that directory so test, automation, and normal profiles do not overwrite one another. Existing profiles retain their original keychain namespace. WK_MANAGER_KEY(environment variable) always takes precedence and is never written to disk.- The CLI never logs the key; debug traces redact
pe_mgr_material. wk auth status --jsonreturns only nonsecret credential metadata and key information.
API responses can contain text produced by AI workers. Everything rendered to a terminal is
stripped of escape sequences, control characters, and bidirectional-override characters.
--json preserves API data before display transformations (JSON formatting can differ from
the original response bytes). It is intended for pipes and preserves control characters
as JSON escapes.
None. Nothing about your usage is collected or reported. The only version signal WorkerKit
receives is the CLI's User-Agent header on requests you already made.
For completeness, the CLI makes exactly one outbound request that is not an API call: at most once
every 24 hours it fetches its own public package document from registry.npmjs.org to tell you a
newer version exists. It is anonymous, sends no credential or identifier, runs only on an
interactive terminal, and is skipped entirely under CI, WK_NO_UPDATE_CHECK, --json, and
--plain.