# FireWeave > FireWeave SDK documentation: evaluate control points, optionally register targets, drive a release lifecycle, and record exposures and signals. OpenFeature providers ship for Node.js, Python, Go, Java, and the browser. > ## Agent Instructions > Official FireWeave SDK documentation. > Product noun is control point. OpenFeature and the wire protocol use flagKey — do not invent controlPointKey. > Do not invent APIs, packages, env vars, or endpoints. Guardrails are a typed stub (UnsupportedCapability). OpenFeature Tracking (spec section 6) is not implemented. > registerTarget and identify exist on Node, Python, and Web only. Go and Java have no target-registration API on master. > sendExposure defaults to false. Java close() does not flush exposures. ## Docs - [FireWeave](https://docs.fireweave.ai/index.md): FireWeave SDK docs: evaluate control points, register targets, and record exposures and signals in Node, Python, Go, Java, and the browser — including OpenFeature providers. - [How it works](https://docs.fireweave.ai/introduction/how-it-works.md): How the FireWeave SDK evaluates control points, optionally registers targets, and records exposures and signals through FireweaveRuntime and a BackendAdapter. - [Architecture](https://docs.fireweave.ai/introduction/architecture.md): FireWeave SDK architecture: FireweaveProvider and FireweaveClient on FireweaveRuntime, BackendAdapter implementations, lifecycle states, and fw-server wire paths. - [Quickstart](https://docs.fireweave.ai/quickstart.md): Install a FireWeave SDK, evaluate a control point offline, register a target where the API exists, record an outcome, and shut down. - [Node.js, Bun, and Deno](https://docs.fireweave.ai/sdks/node.md): Install and use @fireweaveai/sdk to evaluate control points, register targets, and report releases, exposures, and signals on Node, Bun, and Deno. - [Python](https://docs.fireweave.ai/sdks/python.md): Install and use the fireweave Python SDK to evaluate control points, register targets, and report releases, exposures, and signals. - [Go](https://docs.fireweave.ai/sdks/go.md): Install and use the FireWeave Go SDK to evaluate flags, drive releases, and report exposures and signals. Target registration is not in this SDK. - [Java](https://docs.fireweave.ai/sdks/java.md): Install and use the FireWeave Java SDK. No controlPoints namespace, no registerTarget, no environment auto-read, and close() does not flush exposures. - [Browser](https://docs.fireweave.ai/sdks/web.md): Install and use @fireweaveai/web-sdk for synchronous control-point reads, identify(), STALE lifecycle, and unload flush. Not a Node SDK. - [Compatibility](https://docs.fireweave.ai/sdks/compatibility.md): Runtime floors, evaluation types, adapters, and conformance for the five FireWeave SDKs — from manifests and the SDK audit only. - [Core concepts](https://docs.fireweave.ai/concepts.md): The FireWeave nouns your code uses — control points, targets, releases, exposures, signals, capabilities, and adapters — and the collisions that produce wrong docs. - [Control points](https://docs.fireweave.ai/concepts/control-points.md): A control point is the named decision your code asks FireWeave for. Evaluation uses flagKey; types and APIs differ by language. - [Targeting and targets](https://docs.fireweave.ai/concepts/targeting.md): Targeting selects a Decision with targetingKey plus attributes or registered properties. Registration exists on Node, Python, and Web only. - [Releases](https://docs.fireweave.ai/concepts/releases.md): A release binds this process to a rollout identity, then reports start, complete, or fail. These are SDK statuses — not the console state machine. - [Exposures](https://docs.fireweave.ai/concepts/exposures.md): An exposure is proof a target saw a control-point value. Emission is opt-in — sendExposure defaults to false in every language. - [Signals and outcomes](https://docs.fireweave.ai/concepts/signals.md): Signals are release-safety telemetry: health, error, metric, and outcome. Outcome is a signal kind — not a standalone product object. - [Capabilities](https://docs.fireweave.ai/concepts/capabilities.md): capabilities.get reports what this SDK build and adapter can do. Guardrails are a typed stub — always false. - [Adapters](https://docs.fireweave.ai/concepts/adapters.md): The adapter is how FireweaveRuntime talks to a backend. Production uses FireweaveRemoteAdapter; tests use InMemoryAdapter; local/dev exists on Node, Python, and Web. - [OpenFeature](https://docs.fireweave.ai/openfeature.md): Evaluate FireWeave control points through OpenFeature providers in Node, Python, Go, Java, and the browser. Tracking (spec §6) is not implemented. - [Configuration and auth](https://docs.fireweave.ai/production/configuration.md): Connect a FireWeave SDK to fw-server: FW_API_URL, FW_PROJECT_API_KEY, Bearer auth, host allowlists, and timeouts. - [Initialize, ready, shutdown](https://docs.fireweave.ai/production/lifecycle.md): FireWeave runtime states, readiness, flush-on-shutdown, and the Java close() exception. - [Errors](https://docs.fireweave.ai/production/errors.md): FireWeave’s 15-kind error taxonomy, OpenFeature errorCode map, and how to read a default-valued decision. - [Testing](https://docs.fireweave.ai/testing.md): Deterministic FireWeave tests with InMemoryAdapter, the local/dev adapter, and the protocol test server. The stub does not implement /v1/targets/register. - [Troubleshooting](https://docs.fireweave.ai/troubleshooting.md): Problem, cause, diagnosis, and fix for FireWeave SDK install, auth, targeting, defaults, exposures, signals, network, and OpenFeature. - [Migrate Node 2.0 to 2.1](https://docs.fireweave.ai/migration/node-2.md): Breaking changes from the FireWeave Node CHANGELOG: PostHog adapter removal and what is not breaking. npm latest is 2.1.0 as of 2026-08-17. - [Package and API index](https://docs.fireweave.ai/reference/packages.md): FireWeave package names, versions, publish state, env vars, OpenFeature pins, and runtime compatibility. Links out to per-SDK pages. ## Optional - [SDK source](https://github.com/FireWeave-HQ/fireweave-sdk)