// Simple predicates
'tacocat'.startsWith('taco')

// Parameterized predicates over structured data
account.balance >= transaction.withdrawal

// JSON objects
{'sub': '12345678',
 'aud': 'example2.cel.dev',
 'iss': 'https://example1.cel.dev/jwt-issuer'}

// Strongly typed objects
common.GeoPoint{ latitude: 10.0, longitude: -5.5 }

Le langage CEL (Common Expression Language) est un langage d'expression rapide, portable et sûr à exécuter dans les applications critiques. Le CEL est conçu pour être intégré dans une application, avec des extensions spécifiques à l'application. Il est idéal pour étendre les configurations déclaratives que vos applications peuvent déjà utiliser.

Utilisez le langage CEL pour effectuer des opérations telles que les filtres de liste pour les appels d'API, les contraintes de validation des tampons de protocole et les règles d'autorisation pour les requêtes API.

Évaluation accélérée des expressions dans les chemins critiques de performances, de la nanoseconde aux microsecondes.
Légère et conviviale, la syntaxe utilisée est la même dans de nombreux systèmes Google et externes.
Pas-Turing terminé et accès uniquement aux données fournies par l'application hôte.
Prouvez l'exactitude, les invariants de sécurité et l'équivalence pour toutes les entrées à l'aide de solveurs SMT automatisés tels que Z3.

Le langage CEL est idéal pour les applications critiques, car il a été conçu pour évaluer rapidement et de manière sécurisée (de l'ordre de la nanoseconde à la microseconde) avec des coûts prévisibles. Les expressions CEL sont particulièrement utiles pour la logique de prédicat et les transformations de données simples.

Le langage CEL est particulièrement efficace dans les applications où les expressions sont évaluées fréquemment, mais rarement modifiées. Par exemple, évaluer une requête HTTP par rapport à une stratégie de sécurité est un excellent cas d'utilisation de CEL. Une expression de stratégie de sécurité CEL aurait un coût de configuration unique pour la validation de l'expression, puis serait évaluée très fréquemment pour un coût négligeable.

Vous ne savez toujours pas ? Consultez la présentation du langage CEL et la définition du langage, ou posez-nous simplement votre question ! Nous serons ravis de vous aider.

Lorsque les agents d'IA créent, refactorisent et déploient des règles, les tests unitaires heuristiques peuvent ne pas couvrir les cas extrêmes sur des entrées infinies. Le framework de validation formelle CEL, basé sur le démonstrateur de théorèmes Z3, permet aux développeurs de prouver mathématiquement l'exactitude des règles, de vérifier l'équivalence des AST et de garantir les invariants de sécurité sur l'ensemble de l'espace d'entrée.

Détectez les failles logiques subtiles, appliquez des garde-fous exhaustifs et sécurisez la création automatisée de règles avec une certitude mathématique.

Vous souhaitez contribuer au projet CEL ? Contribuez à notre code et à notre documentation Open Source. Nous avons besoin de votre aide.