GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Overview
  • Learn
  • GitHub
  • Contact us
  • CEL
  • Terms
  • Privacy

This view

  • Original page
  • New address

GeezerVison is showing cel.dev — CEL | Common Expression Language

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

Fast, safe expression language

Common Expression Language (CEL) is an expression language that’s fast, portable, and safe to execute in performance-critical applications. CEL is designed to be embedded in an application, with application-specific extensions, and is ideal for extending declarative configurations that your applications might already use.

Use CEL for things like list filters for API calls, validation constraints on protocol buffers, and authorization rules for API requests.

Learn more Get started
speed

Fast

Accelerated expression evaluation in performance-critical paths from nanoseconds to microseconds.
language

Portable

Developer friendly, light weight with common syntax across multiple Google and external systems.
verified_user

Safe

Non-Turing complete, and only accesses data provided by the host application.
fact_check

Formally Verifiable

Prove correctness, safety invariants, and equivalence across all inputs using automated SMT solvers like Z3.

Is CEL right for your project?

CEL is ideal for performance-critical applications because it was designed to evaluate safely and quickly (nanoseconds to microseconds) with predictible costs. CEL expressions are especially useful for predicate logic and simple data transformations.

CEL is used most efficiently in applications where expressions are evaluated frequently, but modified infrequently. For example, evaluating an HTTP request against a security policy is an excellent use case for CEL. A CEL security policy expression would have a one-time configuration cost for validating the expression and then be evaluated very frequently at a negligible cost.

Still not sure? Check out the CEL overview and language definition, or just ask us! We're happy to help.

CEL overview Language definition Ask our team

Formal verification for the agentic era

As AI agents author, refactor, and deploy policies, heuristic unit tests may fail to cover edge cases across infinite inputs. The CEL Formal Verification Framework, powered by the Z3 theorem prover, enables developers to mathematically prove policy correctness, check AST equivalence, and guarantee security invariants across the entire input space.

Catch subtle logic flaws, enforce exhaustive guardrails, and secure automated policy authoring with mathematical certainty.

Read the announcement CEL Java Verifier

Contribute to CEL

Want to help the CEL project? Contribute to our open source code and documentation. We'd love your help!
Contribute
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.