// 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 }

Il Common Expression Language (CEL) è un linguaggio di espressione veloce, portabile e sicuro da eseguire nelle applicazioni critiche per le prestazioni. Il CEL è progettato per essere incorporato in un'applicazione, con estensioni specifiche per l'applicazione ed è ideale per estendere le configurazioni dichiarative che le applicazioni potrebbero già utilizzare.

Utilizza il CEL per elementi come i filtri di elenco per le chiamate API, i vincoli di convalida sui buffer di protocollo e le regole di autorizzazione per le richieste API.

Valutazione accelerata delle espressioni in percorsi critici per le prestazioni da nanosecondi a microsecondi.
Facile da usare per gli sviluppatori, leggero con una sintassi comune per più sistemi Google e esterni.
La funzionalità non è completa e accede solo ai dati forniti dall'applicazione host.
Dimostra la correttezza, gli invarianti di sicurezza e l'equivalenza per tutti gli input utilizzando risolutori SMT automatizzati come Z3.

Il CEL è ideale per applicazioni critiche per le prestazioni perché è stato progettato per valutare in modo sicuro e rapido (da nanosecondi a microsecondi) con costi prevedibili. Le espressioni CEL sono particolarmente utili per la logica dei predicati e le trasformazioni di dati semplici.

La tecnologia CEL è utilizzata in modo più efficiente nelle applicazioni in cui le espressioni vengono valutate di frequente, ma modificate raramente. Ad esempio, valutare una richiesta HTTP in base a un criterio di sicurezza è un caso d'uso eccellente per il CEL. Un'espressione del criterio di sicurezza CEL prevede un costo di configurazione una tantum per la convalida dell'espressione e viene valutata molto spesso a un costo trascurabile.

Hai ancora dubbi? Consulta la panoramica CEL e la definizione linguistica oppure chiedici semplicemente. Saremo lieti di aiutarti.

Poiché gli agenti AI creano, refactoring e implementano le policy, i test unitari euristici potrebbero non coprire i casi limite su input infiniti. Il framework di verifica formale CEL, basato sul dimostratore di teoremi Z3, consente agli sviluppatori di dimostrare matematicamente la correttezza delle policy, controllare l'equivalenza AST e garantire invarianti di sicurezza nell'intero spazio di input.

Rileva difetti logici sottili, applica sistemi di protezione esaustivi e proteggi la creazione automatica di policy con certezza matematica.

Vuoi aiutare il progetto CEL? Contribuisci al nostro codice open source e alla nostra documentazione. Saremmo lieti di aiutarti.