OpenE2EE

Product event catalog

Versioned, privacy-safe website and Relay funnel events with no CLI telemetry.

Catalog version: relay-funnel-v1
Reviewed: 2026-10-11

This catalog is non-authoritative. An event can explain onboarding and product behavior. It cannot authorize a request, calculate exact quota, create a message graph, or produce an invoice value.

Privacy classes

ClassIdentity boundaryRetention and deletion
Anonymous aggregateNo account, organization, project, device, visitor, session, cookie, or IP-address field.The privacy policy sets the retention. No person identifier exists for a person-level deletion.
Project operationalOpaque project or organization handles only. No raw account, device, provider subject, message, attachment, group, certificate, or protocol identifier.Planned. Relay does not record these events yet. Authoritative billing, security, and deletion records follow their own policies.

OpenE2EE never joins an anonymous website event to a person, organization, or project.

OpenE2EE already keeps other analytics records about Relay usage, delivery, and presence, and about Console accounts and billing. OpenE2EE keeps each raw record for 380 days. A weekly job then deletes the older records. Summary tables do not expire. Deleting a project does not delete its analytics records.

Website events active before Relay launch

EventSourceBounded fields
demo_runHome-page demoevent, path, count
quickstart_openWebsite linkevent, path, count
runtime_selectRuntime linkevent, path, expo / browser / node, count
install_copyInstall-copy actionevent, path, count
guide_finishArticle closing linkevent, path, count
github_openRepository linkevent, path, count
security_viewSecurity pageevent, path, count
pricing_viewPricing pageevent, path, count
signup_startConsole linkevent, path, count
enterprise_contactEnterprise contact linkevent, path, count

These events have no identifier and no cross-event deduplication. They are aggregate popularity signals. The demo records at most one demo_run for one page load and sends nothing about the typed text.

Planned Signal Protocol Relay events

Status: planned. Relay does not record these events yet.

Every project-operational event uses one stable event identifier from its authoritative transition. An exact retry cannot add another event. Common fields include the event name, stable event ID, UTC time, and optional opaque project or organization handles. An event can also contain one bounded plan, runtime, provider, guide, or outcome code.

JourneyEventsAuthoritative source
Learn and selectquickstart_viewed, local_roundtrip_completed, provider_selected, runtime_selected, guide_selectedDocs or Console selection boundary
Initializecontrol_operation_first_observed, project_files_initialized, account_created, organization_created, sandbox_environment_provisioned, device_registered_firstA successful project setup or account change
Delivermanaged_delivery_first_accepted, managed_delivery_first_acknowledgedRelay's record that it accepted the message or that the recipient acknowledged it
Activate productionproduction_activation_started, production_deploy_planned, production_deploy_confirmed, production_deploy_failed, production_deploy_completedProject policy and protected deploy result
Set up paymentcard_setup_started, card_setup_completed, card_setup_failed, card_setup_abandonedConsole and the card setup result
Reach a limitlimit_warning, hard_cap_eventExact quota authority
Change planupgrade_viewed, upgrade_previewed, upgrade_confirmed, upgrade_failed, upgrade_completedConsole and the plan change result

The bounded plan IDs are relay_free_v1, relay_starter_v1, relay_growth_v1, relay_business_v1, and relay_enterprise_v1. Runtime, provider, guide, and outcome values use reviewed allowlists. Free text is not allowed.

CLI boundary

The CLI sends no analytics beacon and contains no telemetry client. The planned control_operation_first_observed event comes from the first successful authenticated request to the service. It does not show that the user installed the package. The planned initialization event comes only after the service accepts an authenticated initialization request.

On this page