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
- 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:- Prioritize Provider Support: Understand which LLM and database providers to focus development efforts on
- Ensure Compatibility: Track Python versions and operating systems to maintain broad compatibility
- Guide Roadmap: Identify which configurations are most popular to prioritize features
- Improve Quality: Detect adoption patterns and usage trends
How Telemetry Works
Implementation
Telemetry is implemented ingraphiti_core/telemetry/telemetry.py:
Telemetry Event
When Graphiti initializes:Automatic Disabling
Telemetry is automatically disabled:- During test runs (when
pytestis detected) - When explicitly disabled via environment variable
Silent Failure
All telemetry operations fail silently:- 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
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:
.env file:
Option 5: Docker Environment
For Docker deployments:Option 6: Kubernetes ConfigMap
MCP Server Telemetry
The MCP server uses Graphiti core’s telemetry. Disable it the same way:Verifying Telemetry Status
Check if telemetry is enabled:Viewing Your Anonymous ID
Your anonymous ID is stored locally: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:- Opt-out: Telemetry can be disabled at any time
- Anonymous: No personal information is collected
- Transparent: This documentation explains exactly what’s collected
- Open Source: Telemetry code is fully visible in the repository
- Non-intrusive: Telemetry never affects functionality
View the Telemetry Code
The complete telemetry implementation is open source: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:- Review the telemetry code:
graphiti_core/telemetry/telemetry.py - Disable if required: Set
GRAPHITI_TELEMETRY_ENABLED=false - Network isolation: Telemetry requires no special firewall rules (only HTTPS outbound)
- 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?- Open an issue: GitHub Issues
- Join Discord: Zep Discord #graphiti channel
- Email: [email protected]