Files
github-actions[bot] c7a56d6a66 Version Packages (#461)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-04 19:12:09 +02:00
..
2026-08-04 19:12:09 +02:00
2026-08-04 19:12:09 +02:00
2026-07-26 08:25:37 -04:00

Flags SDK — PostHog Adapter

The PostHog adapter for Flags SDK supports dynamic server side feature flags powered by PostHog.

Setup

Install the adapter

pnpm i @flags-sdk/posthog

Example Usage

import { flag } from "flags/next";
import { postHogAdapter } from "@flags-sdk/posthog";

export const marketingGate = flag<boolean>({
  // The key in PostHog
  key: "my_posthog_flag_key_here",
  adapter: postHogAdapter,
});

Environment variables

Always required, read by postHogAdapter:

# Regional API host, determines where your data lives
POSTHOG_HOST=https://us.i.posthog.com # or https://eu.i.posthog.com
# Settings > Project > Project API Key
POSTHOG_PROJECT_API_KEY=phc_...

Optional, opts postHogAdapter into local evaluation:

# Settings > Project > Feature flags secret key
POSTHOG_SECRET_KEY=phs_...

For the Flags Explorer, read by getProviderData only:

# Settings > User > Personal API keys
POSTHOG_PERSONAL_API_KEY=phx_...
# Settings > Project > Project ID
POSTHOG_PROJECT_ID=521742

Evaluation modes

  • Remote (default): with only POSTHOG_PROJECT_API_KEY and POSTHOG_HOST set, each evaluation calls PostHog. No background polling; request volume scales with traffic. Recommended for serverless.
  • Local: set POSTHOG_SECRET_KEY (phs_...) to opt in. posthog-node polls flag definitions (~30s) and evaluates in-process for lower latency. Polling runs per warm server process and counts against your PostHog feature flag request quota regardless of user traffic.

POSTHOG_PERSONAL_API_KEY is used only by the Flags Explorer (getProviderData) and does not enable local evaluation.

Runtimes

Runtime Supported
Node
Edge Runtime

Note: posthog-node does not support the Edge Runtime.

To use with Routing Middleware and precompute, read more: Middleware now supports Node.js

Documentation

View more PostHog documentation at posthog.com.