> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks.md).

# Server-side SDKs

## Overview

Harness FME provides server-side SDKs that let you evaluate feature flags, run experiments, and control rollouts from your backend services.

These SDKs are designed for high-throughput, low-latency environments where feature logic must run securely and reliably without exposing rules or targeting logic to the client.

By integrating a server-side SDK, you can:

* Evaluate targeting rules securely on the server
* Maintain consistent behavior across multiple environments
* Implement feature rollouts without redeploying backend code
* Collect event data for experiment analysis
* Use a bucketing key to control percentage-based rollouts independently of the key used for targeting (for example, bucket by account ID while still targeting individual users)

{% hint style="info" %}
**MATCHING KEY VS. BUCKETING KEY**

Every server-side SDK supports passing a compound key (a matching key plus a separate bucketing key).
{% endhint %}

## Get started

Select a backend language or framework to begin.

<table data-view="cards"><thead><tr><th align="center"></th><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-5d6b254e7b3e2a65c4151a8a749f75af4ab433f4%2Fimage.png?alt=media" alt="" data-size="line"></td><td align="center"><strong>Elixir Thin Client SDK</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks/elixir-thin-client-sdk.md">Elixir Thin Client SDK</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-fdf1a084104403268edde7112359ef90eaac7fe7%2Fimage.png?alt=media" alt="" data-size="original"></td><td align="center"><strong>Go SDK</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks/go-sdk.md">Go SDK</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-123bb1fe4b2fa49d54852fa2afdef9b2c450519a%2Fimage.png?alt=media" alt="" data-size="line"></td><td align="center"><strong>Java SDK</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks/java-sdk.md">Java SDK</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-a73f55478934ce00f07a3971f97888fed1ea601a%2Fimage.png?alt=media" alt="" data-size="original"></td><td align="center"><strong>.NET SDK</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks/net-sdk.md">.NET SDK</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2FcQHbqbwHYi0hZ8EAwanB%2Fnode-js.svg?alt=media&amp;token=ecf1c886-03d6-467b-99b3-7d006533a908" alt="" data-size="original"></td><td align="center"><strong>NodeJS SDK</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks/nodejs-sdk.md">Node.js SDK</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-8f2e1bf7a5b8ebd317b04344f7311738845150b6%2Fimage.png?alt=media" alt="" data-size="original"></td><td align="center"><strong>PHP SDK</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks/php-sdk.md">PHP SDK</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fgit-blob-8f2e1bf7a5b8ebd317b04344f7311738845150b6%2Fimage.png?alt=media" alt="" data-size="original"></td><td align="center"><strong>PHP Thin Client SDK</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks/php-thin-client-sdk.md">PHP Thin Client SDK</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fibu7PcfVIK14zEcAs9AP%2Fpython-logo.png?alt=media&amp;token=2c101ea6-2bab-46f4-b5ed-0a59783a69d4" alt=""></td><td align="center"><strong>Python SDK</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks/python-sdk.md">Python SDK</a></td></tr><tr><td align="center"><img src="https://1473625385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrT2RGHAjtBTaObzchfpb%2Fuploads%2Fs9E6HRFU50hDkRe26Niy%2Fruby.png?alt=media&amp;token=7707b172-dae6-4e00-bbd5-f35abfe816bd" alt=""></td><td align="center"><strong>Ruby SDK</strong></td><td><a href="/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/server-side-sdks/ruby-sdk.md">Ruby SDK</a></td></tr></tbody></table>

{% @harness-feedback/feedback %}
