Skip to content

thinkgrid-labs/checkgate

Repository files navigation

Checkgate Logo

Checkgate — Feature Flags Without the Round-Trip.

CI License: Apache 2.0 npm @checkgate/node npm @checkgate/web npm @checkgate/react-native

Checkgate is an open-source feature flag engine that evaluates flags locally — no network call, no latency, no SaaS vendor. Every flag decision happens inside your process in sub-microseconds, while a persistent SSE stream keeps every SDK instance in sync within 50 ms of a change.

It is proudly built in Rust and ships with native SDKs for Node.js (NAPI), browsers (WebAssembly), React Native (JSI), and Flutter (FFI). A persistent SSE stream propagates flag changes to every connected SDK instance in under 50 ms.

Explore the Documentation →


Overview

A flag change flows from the dashboard to the Checkgate server, which pushes it over SSE to every SDK, where flags evaluate locally in-process.

A flag change is written once, then pushed to every connected SDK in milliseconds — after which each isEnabled() is a local, in-process lookup.


Features

  • Sub-microsecond evaluation — flags are evaluated entirely in local memory
  • Real-time updates — SSE push, not polling; changes land in < 50 ms
  • Targeting rules — match by any user attribute (email, plan, region, …)
  • Percentage rollouts — deterministic MurmurHash3 bucketing; sticky and independent per flag
  • Rust evaluation core — compiled to NAPI, WASM, JSI, or FFI depending on platform
  • Self-hosted — single binary + PostgreSQL + Redis; your data never leaves your infra

Screenshots

Dashboard shown with example data for a fictional company, Vantage Robotics.

Dashboard overview — flag counts, rollout status, and recent activity at a glance.

Dashboard overview

Feature flags — tags, types, rollout percentage, and one-click enable/disable per environment.

Feature flags list

Flag editor — targeting rules, tags, ownership, and prerequisite (dependent) flags.

Flag editor

Change requests — require a second reviewer before a flag change takes effect in sensitive environments; self-approval is blocked.

Change requests

Cross-environment diff — see what's different between environments before promoting, with a one-click sync.

Compare environments

Personal access tokens — scoped, revocable API credentials for CI/CD and Terraform, as an alternative to admin-equivalent SDK keys.

Personal access tokens

Environments — isolate configuration across Production, Staging, UAT, and Development, with per-environment approval gates.

Environments

Collapsible sidebar — reclaim screen space on data-dense pages; the whole dashboard is full-width by default.

Collapsed sidebar


Documentation

Topic Link
Why Checkgate / comparisons What is Checkgate?
System architecture Architecture
Flags, rules, rollout concepts Core Concepts
Step-by-step setup Getting Started
REST API + SSE stream reference API Reference
Node.js SDK SDK: Node.js
Web (WASM) SDK SDK: Web
React Native (JSI) SDK SDK: React Native
Flutter (FFI) SDK SDK: Flutter
Type-safe codegen CLI @checkgate/cli
Edge evaluation (Workers, Fly.io) @checkgate/edge
SSR / bootstrap (Next.js, Remix, …) @checkgate/ssr
Terraform / OpenTofu provider terraform-provider-checkgate
Kubernetes operator checkgate-operator
Docker, AWS, env vars Self-Hosting
Enterprise Setup & Migration Enterprise Setup & Migration

Contributing

See CONTRIBUTING.md.

License

Apache License 2.0 — see LICENSE and NOTICE.

Releases up to and including v0.1.21 were published under the MIT License; that grant is irrevocable for those versions.

About

Checkgate — Feature Flags Without the Round-Trip.

Topics

Resources

License

Contributing

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors