FortressFlag

Capacités

Ce que fait FortressFlag

Basculez des fonctionnalités en production sans déploiement, ciblez exactement qui les voit, et gardez chaque changement traçable - de votre premier flag cet après-midi jusqu'au SSO et aux approbations à grande échelle. Sept SDK portent l'ensemble, client et serveur.

Flags et ciblage

De la définition au code qui tourne en une minute environ. Les apps clientes sont évaluées par appareil et ne reçoivent jamais que leurs propres valeurs - jamais le ruleset ; vos propres backends peuvent récupérer le ruleset complet derrière une clé serveur et l'évaluer in-process.

Booléen et multivariéTypes booléen, chaîne et nombre avec des variantes nommées. Le type d'un flag est immuable ; les clés sont permanentes ; les renommages ne touchent que l'affichage.kinds: 3
Règles de ciblageDes règles ordonnées avec des groupes de conditions ET, par environnement - y compris des comparaisons semver comme appVersion ≥ 2.0. Les tags d'appareil sont évalués puis oubliés, jamais conservés.first-match-wins
Segments réutilisablesDes listes de conditions nommées, partagées par les règles entre flags et environnements, pour que « bêta-testeurs » soit défini une seule fois.per-project
Déploiements progressifsDes cohortes par flag, réparties sur un hachage de l'appareil et du flag - rien n'est jamais stocké sur la cohorte d'un appareil.sticky cohorts
Environnements personnalisésCréez, renommez et reclassez vos propres environnements. La production est une classe sur la ligne, pas un nom magique - appelez-la « live » et toutes les protections s'appliquent encore.is_production

Distribution

Comment les flags atteignent votre code - et pourquoi le polling ne coûte presque rien.

Sept SDKiOS, Android et le web côté client ; Go, Node.js, Python et Java côté serveur - chacun fail-safe par contrat : une lecture se résout toujours vers une valeur, panne ou non.client & server
Évaluation locale côté serveurLes SDK serveur téléchargent votre ruleset et évaluent chaque vérification de flag in-process - aucun aller-retour réseau par vérification, aucune latence par évaluation dans votre chemin de requête.in-process
Polling efficaceChaque réponse porte un ETag fort ; un polling inchangé répond 304 sans corps. Votre parc peut vérifier souvent en ne transférant presque rien.etag · 304
Clients offline-firstLes SDK clients mettent en cache durablement les dernières valeurs connues et continuent de les servir à travers n'importe quelle panne - un appareil qui redémarre hors ligne évalue avec ce qu'il a vu en dernier.durable cache

Sûreté

La production est gardée par conception, pas par convention.

Changements approuvés par un pairUn développeur propose un changement en production ; une deuxième personne l'approuve, ce qui l'applique. L'auto-approbation est refusée, et le journal d'audit nomme les deux parties.second person
Changements programmésLes bascules booléennes prennent effet à un moment choisi - exact pour chaque lecteur, pas « quand le cron est passé ».exact-at-T
Suppression réversibleArchiver, restaurer, purger avec une fenêtre de rétention, pour qu'un clic malheureux soit récupérable et que la vraie suppression soit délibérée.archive → purge
Rappels sur les flags obsolètesLes flags intouchés depuis 90 jours sont badgés et filtrables - un rappel, jamais un archivage automatique.90 days

Équipes et accès

Un contrôle d'accès entreprise dès le premier siège.

Accès basé sur les rôlesOwner, Admin, Developer, Viewer - la matrice des rôles est publiée dans l'app, et personne ne peut attribuer un rôle supérieur au sien.4 roles
Listes d'autorisation par projetLes viewers et les développeurs voient exactement les projets qui leur ont été accordés ; un projet non accordé est indiscernable d'un projet inexistant.404, not 403
SSO et SCIMApportez votre fournisseur d'identité : connexion SSO, provisionnement et déprovisionnement automatisés, et correspondance des groupes IdP vers les rôles.saml · okta
MFASecond facteur TOTP, imposable par organisation.totp
Journal d'auditChaque changement d'état : qui, quoi, quand, d'où, avant et après - avec une visionneuse dans l'app, des filtres et un export CSV.append-only

Automatisation

Un identifiant machine et une surface d'outils pour les agents — tous deux héritant des mêmes permissions, pas de nouvelles.

Jetons d'API de gestionUn jeton porte le rôle du membre qui l'a créé, dans une seule organisation — il ne peut donc jamais faire plus que cette personne. Complet ou en lecture seule, affiché une fois, révocable, et il meurt avec l'adhésion.agit comme vous
Serveur MCP pour les agents IADonnez vos flags à un agent de code. La lecture est toujours disponible ; modifier exige une option explicite, et une bascule en production exige une confirmation nommant l'environnement. L'agent d'un développeur propose plutôt qu'il n'écrit — et approuver reste l'affaire d'une personne.--allow-writes

Facturation

Mesuré sur les appareils, pas sur les applications - la page des tarifs explique pourquoi c'est moins cher pour vous.

Sièges par appareilUn siège est un appareil actif mensuel, dédupliqué sur toute votre famille d'applications. Les simulateurs reçoivent des flags et ne sont jamais facturés, et l'évaluation côté serveur n'ajoute aucun siège.monthly-active
Transparence de l'usageUn écran Usage réservé au owner : les appareils de la période, un an d'historique, et l'activité quotidienne des requêtes.12 months

Voyez-le avec vos propres flags

Une organisation d'essai arrive avec un projet d'exemple fonctionnel - 1 000 premiers appareils actifs mensuels gratuits.

Essai gratuit