---
title: Choose a Polaris product
description: Decide whether your state belongs behind Flagpole's HTTP API, inside Drift, or in both layers.
url: https://pr-15-c0fdf0ef9f59.thally.app/components
---

# Choose a Polaris product

Decide whether your state belongs behind Flagpole's HTTP API, inside Drift, or in both layers.

## Use Flagpole for shared release decisions

Choose Flagpole when more than one process needs the same boolean decision.
Its small REST surface supports default switches, stable percentage cohorts,
environment overrides, change history, tags, and webhook delivery records.

Flagpole does not include a dashboard, SDK, or external database. You run the
Node.js service, call it with any HTTP client, and choose in-memory or JSON-file
persistence.

## Use Drift for process-local working state

Choose Drift when one Node.js process needs a typed cache or small store without
a server. Its synchronous API includes TTLs, LRU eviction, namespaces,
lifecycle events, ordered batches, rollback-on-error transactions, and optional
JSON snapshots.

Drift is not a shared database. Each process has its own store unless your
application supplies coordination outside the package.

## Use both for a resilient read path

A service can treat Flagpole as the source of truth and place short-lived
evaluation responses in Drift. That reduces repeated HTTP work while the TTL
keeps the cache bounded in time. Follow the [combined guide](/guides/flagpole-with-drift)
for a complete example.