> ## Documentation Index
> Fetch the complete documentation index at: https://confidence.spotify.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Confidence SDKs

> Find the Confidence SDK or tool for each product: feature flags, events, recordings, and MCP servers for AI assistants.

Confidence provides SDKs for several products. Use this table to find the SDK or tool for what you
want to do.

| Product | What you use | Platforms | Reference |
| - | - | - | - |
| Feature flags | Confidence OpenFeature providers | Server, client, and edge | [Feature Flag SDKs](#feature-flag-sdks) |
| Events | `track` on the Confidence client SDKs | JavaScript (Web), iOS, Android, Flutter | [Track Events](/docs/reference/sdks/events) |
| Recordings | `@spotify-confidence/session-recording`, separate from the flags SDKs | Web browsers only | [Recordings SDK (Web)](/docs/reference/sdks/recordings) |
| MCP and AI | Confidence MCP servers and the Confidence CLI | AI assistants and terminals | [MCP Servers](/docs/reference/agent/mcp-servers), [CLI](/docs/reference/cli) |

## Feature Flag SDKs

The Confidence flag SDKs support the [OpenFeature](https://openfeature.dev)
standard, a project from the [Cloud Native Computing Foundation](https://www.cncf.io/) (CNCF) that
standardizes feature flagging. Your application calls the OpenFeature API, and a Confidence `Provider`
connects it to Confidence. This documentation calls the overall setup the "Confidence SDK".

### Server SDKs

Confidence offers **Server SDKs**
built on an open source [Confidence Resolver](https://github.com/spotify/confidence-resolver)—a Rust-based
flag resolver that can run natively or as WebAssembly. These SDKs evaluate flag rules to flag values entirely on your infrastructure. The resolver syncs flag rules
and logging with the Confidence backend periodically, in the background. This enables:

* **Ultra-low latency**: Flag evaluations happen locally in microseconds
* **High reliability**: No network dependency at evaluation time

<CardGroup cols={4}>
  <Card title="Go" icon="golang" href="/docs/reference/sdks/server/go">
    Go SDK
  </Card>

  <Card title="Java" icon="java" href="/docs/reference/sdks/server/java">
    Java SDK
  </Card>

  <Card title="JavaScript/Node.js" icon="node-js" href="/docs/reference/sdks/server/javascript">
    Node.js SDK
  </Card>

  <Card title="Next.js" icon="react" href="/docs/reference/sdks/server/nextjs">
    Next.js with App Router
  </Card>

  <Card title="Rust" icon="rust" href="/docs/reference/sdks/server/rust">
    Rust SDK
  </Card>

  <Card title="Python" icon="python" href="/docs/reference/sdks/server/python">
    Python SDK
  </Card>

  <Card title="Ruby" icon="gem" href="/docs/reference/sdks/server/ruby">
    Ruby SDK
  </Card>

  <Card title=".NET" icon="microsoft" href="/docs/reference/sdks/server/dotnet">
    .NET SDK (server)
  </Card>

  <Card title="PHP" icon="php" href="/docs/reference/sdks/server/php">
    PHP SDK
  </Card>
</CardGroup>

### Client SDKs

Client SDKs are a specialized form of local resolve designed for mobile and web applications.
They resolve all flags once according to the evaluation context, and flag values are then
read from a local cache. This approach works well when the evaluation context doesn't change
often—for example, a mobile client that sets the context on login or app start and maintains
it throughout the session.

<CardGroup cols={4}>
  <Card title="iOS (Swift)" icon="apple" href="/docs/reference/sdks/client/ios">
    Swift SDK
  </Card>

  <Card title="Android (Kotlin)" icon="android" href="/docs/reference/sdks/client/android">
    Kotlin SDK
  </Card>

  <Card title="JavaScript (Web)" icon="js" href="/docs/reference/sdks/client/javascript">
    JavaScript SDK
  </Card>

  <Card title="Flutter" icon="mobile" href="/docs/reference/sdks/client/flutter">
    Flutter SDK
  </Card>

  <Card title="Unity" icon="unity" href="/docs/reference/sdks/client/unity">
    Unity SDK
  </Card>

  <Card title=".NET" icon="microsoft" href="/docs/reference/sdks/client/dotnet">
    .NET SDK (client)
  </Card>
</CardGroup>

### Edge Resolve

The [WebAssembly based](https://github.com/spotify/confidence-resolver) resolver is also packaged to run on edge computing platforms.
This enables flag evaluation as close to your users as possible, minimizing latency for
geographically distributed applications.

<CardGroup cols={3}>
  <Card title="Cloudflare Worker" icon="cloud" href="/docs/reference/sdks/edge/cloudflare">
    Edge resolver for Cloudflare Workers
  </Card>

  <Card title="Fastly Compute" icon="bolt" href="/docs/reference/sdks/edge/fastly">
    Edge resolver for Fastly Compute
  </Card>
</CardGroup>

## Related Resources

<CardGroup cols={2}>
  <Card title="Context" href="/docs/reference/sdks/context">
    Configure evaluation context
  </Card>

  <Card title="Apply Events" href="/docs/reference/sdks/apply-event">
    Track flag assignments
  </Card>

  <Card title="Track Events" href="/docs/reference/sdks/events">
    Send application events
  </Card>

  <Card title="Recordings SDK (Web)" href="/docs/reference/sdks/recordings">
    Record user sessions in web browsers
  </Card>

  <Card title="Flags Introduction" href="/docs/capabilities/flags/overview">
    Overview of feature flags
  </Card>
</CardGroup>
