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

# Types

> Learn the differences between FlagSync’s client-side and server-side SDKs.

## SDK Types

FlagSync offers two SDK types for different environments:

<CardGroup cols={2}>
  <Card title="Client-Side" icon="browser" href="/sdks-client-side/overview">
    For single-user contexts (e.g., web/mobile apps).
  </Card>

  <Card title="Server-Side" icon="server" href="/sdks-server-side/overview">
    For multi-user contexts (e.g., web servers, APIs).
  </Card>
</CardGroup>

### Using Both SDK Types for SSR Apps

SSR web apps often benefit from using both SDKs for seamless feature management.

Server-side SDKs enable flag evaluation for redirects (e.g., rerouting if a feature is off) and tracking purchases, while passing flags to the UI to avoid client-side SDK calls.

Meanwhile, client-side SDKs track events like `page_load_time` or button clicks, ensuring comprehensive data collection.

<Check>
  This combination is not uncommon and offers server-side control and client-side tracking flexibility.
</Check>

## Key Differences

<CardGroup cols={2}>
  <Card title="Initialization" icon="engine">
    <p>Client-side SDKs require a user context at initialization.</p>

    <br />

    <p>Server-side SDKs initialize without one.</p>
  </Card>

  <Card title="Flag Evaluation" icon="flag">
    <p>Client-side SDKs evaluate on FlagSync’s servers and send key-value pairs for the user to the client.</p>

    <br />

    <p>Server-side SDKs fetch full rulesets from FlagSync and evaluate locally at runtime.</p>
  </Card>
</CardGroup>

## Next Steps

Explore more about SDKs and flag evaluation:

* Set up an SDK in [Setup](/sdks/setup).
* Learn SDK targeting logic in [Targeting](/sdks-flag-evaluation/targeting).
* Start with [Quickstart: SDK](/quickstarts/sdk).
