SDK
スタックのあらゆる層に SDK を
クライアント SDK は iOS・Android・Web、サーバー SDK は Go・Node.js・Python・Java。すべてに共通する保証がひとつあります。FortressFlag の障害があなたのアプリを止めることはありません - 読み取りは必ず値として解決し、例外にはなりません。
クライアント SDK
iOS (Swift)
swift · spmデバイス単位でフラグを取得し、永続的なローカルキャッシュを持ちます。読み取りはこのデバイスが最後に見た値へ、次いで false へフォールバックします - さらに、デバイス単位の課金が数える、安定していてプライバシーを損なわないデバイス識別子を生成します。この識別子はアプリ群で共有され、ハードウェア識別子から導き出すことはありません。
Android (Kotlin)
kotlin · minSdk 26同じ永続キャッシュと同じフェイルセーフの段階を、Kotlin ネイティブで。isEnabled をはじめ、例外を投げることはありません。iOS と同じクロスプラットフォームのデバイス識別契約に従います - ランダムで仮名の識別子ひとつ、ハードウェア ID から導き出すことはありません。
Web / JavaScript
typescript · zero depsブラウザー向けの依存ゼロの TypeScript。呼び出しが例外を投げることも、Promise が reject されることもありません - 障害も、切れたネットワークも、広告ブロッカーも、すべて値として解決します。navigator.webdriver で自動化を名乗るブラウザーには配信しますが、課金対象にはなりません。
サーバー SDK
Go
go · zero depsルールセットのエクスポートを ffs_ サーバーキーでポーリングし、フラグをプロセス内でローカルに評価します - フラグ判定ごとのネットワーク往復はなく、評価がエラーを返すことも panic することもありません。
Node.js
typescript · esm · node 22+同じ契約と同じローカル評価を TypeScript で。ESM のみ、実行時依存ゼロ - Node 22+ の CommonJS からは今でも require() で読み込めます。ポーラーがあなたのコードの終了後にプロセスを生かし続けることはありません。
Python
pure stdlib · 3.11+標準ライブラリだけで書かれ、同期 API は asyncio アプリの中でも安全です - 評価はメモリ上の読み取りで、await するものは何もありません。ポーラーはデーモンスレッドで、インタープリタの終了を妨げません。
Java
java 17+ · zero depsJSON も含めて依存ゼロ - 範囲を限ったパーサーは SDK の中にあるので、依存ツリーに新しいものは入りません。boolValue のような getter が例外を投げることはなく、デーモンのポーラーが JVM の終了を妨げることもありません。