Esper encodes traffic automatically, but the tenant still needs to define what counts as an entity for their property. New tenants are bootstrapped with bundled system entity definitions so the workspace is immediately usable before you author your own custom identity rules. If you are unsure which fields you can use, open the Field Reference. It explains the field list shown in the builder in non-technical language. Examples:Documentation Index
Fetch the complete documentation index at: https://docs.esperr.com/llms.txt
Use this file to discover all available pages before exploring further.
- Example:
client_ip + request_header_user_agent - Example:
cookie + path pattern - Example:
ip + referer + action
System starter entities
Esper currently seeds new tenants with these system-defined entity definitions:ip-user-agent:client_ip + user_agentbot-crawlers:user_agentwhen the request matches known crawler tokens from OpenAI, Anthropic, Google, Apple, Meta, and Cloudflare
What you define for an entity
When creating an entity definition, you usually choose:name: A clear label for the identity rule.description: Optional context about what the entity represents.key_fields: The fields Esper should combine to identify the same actor, device, account, or session across requests.match_expression: An optional condition that limits when this entity definition applies.
Why this matters
Entity definitions tell Esper how to:- Group related traffic.
- Accumulate state.
- Analyze repeated behavior.
- Bind policies to the right identity semantics.
Choosing key fields
Key fields tell Esper which values should stay stable when two requests belong to the same real-world actor, device, session, or account. In the builder, you are usually choosing from the tenant’s available field catalog directly. For match expressions, you may also use request-oriented conditions such as method, header, query parameter, cookie, or body data reference. Examples of strong key fields:- Account or customer identifiers.
- Stable device identifiers.
- Source identifier plus browser identity.
- Client IP plus user agent when you need a practical edge-oriented fallback.
- Well-defined session fields.
- Request timestamps.
- Values that are often blank.
- Values that change on every request.
- Fields that are too broad on their own, such as only the request path.
Where the field list comes from
The field list in the Entities builder is tenant-specific. Esper shows the fields currently available for this tenant, including:- Captured fields.
- Derived fields.
- Action fields.