Skip to main content
Graphiti collects anonymous usage statistics to help improve the framework. This guide explains what’s collected, why, and how to disable telemetry.

What We Collect

When you initialize a Graphiti instance, we collect:

Anonymous Identifier

A randomly generated UUID stored locally in ~/.cache/graphiti/telemetry_anon_id
This ID:
  • Is generated locally
  • Is stored only on your machine
  • Cannot be linked to personal information
  • Is consistent across Graphiti uses on the same machine

System Information

Graphiti Version

Configuration Choices

What We DON’T Collect

We never collect:
  • Personal information or identifiers
  • API keys or credentials
  • Your actual data, queries, or graph content
  • IP addresses or hostnames
  • File paths or system-specific information
  • Any content from your episodes, nodes, or edges
  • User names or email addresses
  • Database connection strings
  • Model parameters or prompts

Why We Collect This Data

This information helps us:
  1. Prioritize Provider Support: Understand which LLM and database providers to focus development efforts on
  2. Ensure Compatibility: Track Python versions and operating systems to maintain broad compatibility
  3. Guide Roadmap: Identify which configurations are most popular to prioritize features
  4. Improve Quality: Detect adoption patterns and usage trends
By sharing this anonymous information, you help make Graphiti better for the entire community.

How Telemetry Works

Implementation

Telemetry is implemented in graphiti_core/telemetry/telemetry.py:

Telemetry Event

When Graphiti initializes:

Automatic Disabling

Telemetry is automatically disabled:
Telemetry is disabled:
  • During test runs (when pytest is detected)
  • When explicitly disabled via environment variable

Silent Failure

All telemetry operations fail silently:
Telemetry errors will never:
  • Interrupt your application
  • Affect Graphiti functionality
  • Raise exceptions
  • Appear in logs (unless debug logging is enabled)

How to Disable Telemetry

Telemetry is opt-out and can be disabled at any time.

Option 1: Environment Variable

This disables telemetry for the current shell session.

Option 2: Shell Profile (Permanent)

Add to your shell profile for permanent disabling:

Option 3: Python Code

Disable programmatically before importing Graphiti:

Option 4: .env File

Add to your .env file:
Ensure you load the .env file:

Option 5: Docker Environment

For Docker deployments:
Or with docker run:

Option 6: Kubernetes ConfigMap

MCP Server Telemetry

The MCP server uses Graphiti core’s telemetry. Disable it the same way:
Or when running:

Verifying Telemetry Status

Check if telemetry is enabled:
Or check the environment:

Viewing Your Anonymous ID

Your anonymous ID is stored locally:
To reset it (generates a new ID):

Data Retention

  • Telemetry data is stored by PostHog
  • Data retention: 90 days for free tier
  • No personally identifiable information is stored
  • Data is used only for product improvement
  • Data is not shared with third parties
  • Data is not sold or monetized

Privacy Policy

Graphiti respects your privacy:
  1. Opt-out: Telemetry can be disabled at any time
  2. Anonymous: No personal information is collected
  3. Transparent: This documentation explains exactly what’s collected
  4. Open Source: Telemetry code is fully visible in the repository
  5. Non-intrusive: Telemetry never affects functionality

View the Telemetry Code

The complete telemetry implementation is open source:
Or online: graphiti_core/telemetry/telemetry.py

Technical Details

PostHog Integration

Graphiti uses PostHog for analytics:

Security

  • Public API key is intentional (client-side analytics pattern)
  • No sensitive data is transmitted
  • HTTPS-only communication
  • No authentication tokens
  • No session tracking

Performance Impact

  • Telemetry runs asynchronously
  • Single event on initialization (not per operation)
  • Fails silently on error
  • Minimal overhead (< 100ms)
  • No impact on core functionality

For Enterprise Users

If you’re deploying Graphiti in an enterprise environment:
  1. Review the telemetry code: graphiti_core/telemetry/telemetry.py
  2. Disable if required: Set GRAPHITI_TELEMETRY_ENABLED=false
  3. Network isolation: Telemetry requires no special firewall rules (only HTTPS outbound)
  4. Compliance: No PII collected, GDPR/CCPA compliant

Frequently Asked Questions

Is my data sent to Zep or third parties?

Only anonymous usage statistics are sent to PostHog (analytics provider). No actual data from your knowledge graphs is ever transmitted.

Can I see what’s being sent?

Yes! Enable debug logging:

Does telemetry slow down Graphiti?

No. Telemetry:
  • Runs asynchronously
  • Only fires once on initialization
  • Fails silently on errors
  • Has minimal overhead (< 100ms)

What happens if I disable telemetry?

Nothing changes in functionality. Graphiti works exactly the same with telemetry disabled.

Is telemetry required for support?

No. Telemetry is completely optional and doesn’t affect support.

Can I contribute without enabling telemetry?

Absolutely! Telemetry is automatically disabled during test runs and development.

Contact

Questions about telemetry?

Next Steps