FortressFlag

SDKs

An SDK for every layer of your stack

Client SDKs for iOS, Android and the web; server SDKs for Go, Node.js, Python and Java. All of them share one guarantee: a FortressFlag outage can never take your app down - every read resolves to a value, never an exception.

Client SDKs

iOS (Swift)

swift · spm

Device-scoped flag fetching with a durable local cache: every read falls back to the last value this device saw, then false - and it mints the stable, privacy-respecting device identity that per-device billing counts, shared across your app family and never derived from hardware identifiers.

Android (Kotlin)

kotlin · minSdk 26

The same durable cache and fail-safe cascade, native to Kotlin: isEnabled and friends never throw. It follows the same cross-platform device-identity contract as iOS - one random, pseudonymous identifier, never derived from hardware IDs.

Web / JavaScript

typescript · zero deps

Zero-dependency TypeScript for browsers: no call throws and no promise rejects - outages, dead networks and ad blockers all resolve to a value. Browsers that declare navigator.webdriver automation are served but never billed.

Server SDKs

Go

go · zero deps

Polls the ruleset export with an ffs_ server key and evaluates flags locally, in-process - no network hop per flag check, and evaluation never returns an error and never panics.

Node.js

typescript · esm · node 22+

The same contract and local evaluation, in TypeScript. ESM-only with zero runtime dependencies - and CommonJS on Node 22+ can still require() it. The poller never keeps your process alive after your code finishes.

Python

pure stdlib · 3.11+

Pure standard library, and a synchronous API that is safe inside asyncio apps - evaluation is an in-memory read, nothing to await. The poller is a daemon thread and never blocks interpreter exit.

Java

java 17+ · zero deps

Zero dependencies including JSON - the bounded parser lives in the SDK, so nothing new enters your dependency tree. Getters like boolValue never throw, and the daemon poller never blocks JVM exit.

Your platform is covered. Start now

Sign up, mint an SDK key, and your app reads real flags this afternoon - first 1,000 monthly-active devices free.

Start free trial