PostHog user management controls who can access your analytics data, create insights, manage feature flags, and configure project settings. Whether you're on PostHog Cloud or self-hosted, access control follows a consistent model: organizations contain projects, users have organization-level roles, and project-level permissions determine what they can do.
Access Management at a Glance
- Follow Add User Access when onboarding new team members or granting access to collaborators
- Use Update Access & Roles to adjust permissions, upgrade roles, or modify project access
- Reference Remove User Access when team members leave or engagements end
How PostHog Organizes Access
Organizations:
- Top-level entity that contains projects
- Billing and subscription managed at organization level
- Users invited to organization, then granted access to specific projects
Projects:
- Individual PostHog instances (e.g., "Production", "Staging", "Development")
- Each project has its own data, API keys, and settings
- Users can access multiple projects within an organization
Roles:
- Organization-level roles control billing and organization settings
- Project-level roles determine permissions within each project
- Users can have different roles across different projects
Organization Roles
Owner:
- Full control over organization
- Manage billing and subscription
- Create and delete projects
- Invite and remove users
- Delete organization
- Limit: Typically 1-2 per organization
Admin:
- Create and configure projects
- Invite users to organization
- Manage organization settings
- Cannot manage billing
- Cannot delete organization
Member:
- Access granted projects
- No organization-level permissions
- Project permissions determined by project role
Project Roles
Admin:
- Full project access
- Configure project settings
- Manage feature flags and experiments
- Create and delete dashboards
- Invite users to project
- Manage data retention and deletion
Member:
- Create insights, dashboards, and cohorts
- View and use feature flags
- Track events and view recordings
- Cannot modify project settings
- Cannot invite users
Viewer (read-only):
- View dashboards and insights
- Watch session recordings
- Cannot create or modify content
- Cannot configure settings
Typical Access Structure
Early-stage startup (5-10 people):
- 1 Owner (founder/CTO)
- 2-3 Admins (engineering leads)
- Rest as Members
Growing company (50+ people):
- 1-2 Owners (CTO, VP Engineering)
- 5-10 Admins (engineering managers, product leads)
- Product managers and analysts as Members
- Executives and stakeholders as Viewers
Enterprise (hundreds of employees):
- 2-3 Owners (CTO, VP Engineering, VP Product)
- 20+ Admins (department leads)
- Analysts, PMs, engineers as Members
- Executive team as Viewers
- External contractors with limited project access
Project Separation Strategy
By environment:
Organization: Acme Corp
├── Project: Production
├── Project: Staging
└── Project: Development
By product:
Organization: Acme Corp
├── Project: Web App
├── Project: Mobile App
└── Project: Marketing Site
By customer segment:
Organization: Acme Corp
├── Project: Enterprise Customers
├── Project: SMB Customers
└── Project: Internal Tools
By team:
Organization: Acme Corp
├── Project: Product Team
├── Project: Marketing Team
└── Project: Customer Success Team
Access Control Best Practices
Principle of least privilege:
- Grant minimum access needed for role
- Default to Member, upgrade to Admin only when necessary
- Use Viewer role for stakeholders who need visibility, not control
Project-based access:
- Don't grant access to all projects by default
- Production data should have stricter access controls
- Development/staging can be more permissive
Regular audits:
- Review user list quarterly
- Remove users who have left the company
- Downgrade access for users who changed roles
- Document why each user has access
Separation of concerns:
- Keep production and development projects separate
- Limit production access to engineers actively on-call
- Marketing and sales teams don't need access to internal analytics
External collaborators:
- Create separate projects for external access if possible
- Use Viewer role for consultants unless they need to create content
- Set expiration dates for contractor access
- Document the scope and duration of access
Single Sign-On (SSO)
PostHog Cloud Enterprise plans support SSO via:
Benefits:
- Centralized access control
- Automatic provisioning/deprovisioning
- Enforce company authentication policies
- Single logout across all tools
Configuration:
- Contact PostHog support to enable SSO
- Provide identity provider metadata
- Configure attribute mapping
- Test with a small group before rolling out
Self-hosted: SSO configuration available in instance settings. Refer to PostHog self-hosted documentation for IdP-specific guides.
API Access & Service Accounts
Personal API keys:
- Used for programmatic access
- Tied to individual user account
- Inherits user's permissions
- Rotatable in user settings
Project API keys:
- Used for SDK initialization and event ingestion
- Public (safe to expose client-side)
- One per project
- Rotatable in project settings
Best practices:
- Use project API keys for client-side SDKs
- Use personal API keys for backend integrations
- Rotate keys if compromised
- Don't commit API keys to version control
- Use environment variables for API keys
Audit Logging
PostHog Cloud (Enterprise):
- Full audit log of user actions
- Track who created, modified, or deleted resources
- Export logs for compliance
Self-hosted:
- Logs available in PostHog admin panel
- Configure log retention
- Export to SIEM if needed
What's logged:
- User invitations and removals
- Role changes
- Project creation/deletion
- Settings modifications
- Data exports
- Feature flag changes
Compliance & Data Access
GDPR:
- Users can request data deletion
- PostHog provides tools for data subject requests
- Configure data retention policies
Data residency:
- PostHog Cloud offers US and EU hosting
- Self-hosted keeps all data in your infrastructure
Access controls for sensitive data:
- Use projects to separate sensitive data
- Limit access to projects with PII
- Enable session recording masking for sensitive fields
- Configure autocapture to exclude sensitive elements
Team Collaboration Features
Shared dashboards:
- Create dashboards visible to entire team
- Pin important dashboards for easy access
- Subscribe to dashboard updates via Slack
Insight sharing:
Annotations:
- Mark deployments, incidents, or campaigns
- Visible across all project insights
- Helps correlate events with metric changes
Comments (Enterprise):
- Discuss insights directly in PostHog
- Tag team members
- Keep context with the data
Governance & Documentation
Maintain access documentation:
# PostHog Access Registry
## Owners
- jane@example.com (CTO)
- john@example.com (VP Engineering)
## Admins
- alice@example.com (Engineering Manager)
- bob@example.com (Product Lead)
## Members
- charlie@example.com (Senior Engineer)
- diana@example.com (Product Manager)
- evan@example.com (Data Analyst)
## Viewers
- ceo@example.com (CEO)
- cmo@example.com (CMO)
## External Access
- consultant@agency.com (Marketing Consultant, expires 2024-06-01)
Access request process:
- Request access via ticket/form
- Manager approves
- Admin grants access
- Document in access registry
- Set review date (quarterly or at project end)
Offboarding checklist:
- Remove from organization
- Revoke API keys
- Transfer ownership of insights/dashboards
- Document removal in access registry
- Remove from shared Slack channels
Platform Notes
PostHog Cloud:
- User management via Settings → Organization
- Invite users via email
- SSO available on Enterprise plan
- Billing managed by organization Owners
Self-hosted:
- User management via admin panel
- Create users or enable SSO
- Configure authentication methods
- Manage license keys
Linked Runbooks
Detailed guides for specific user management tasks:
- Add User Access - Onboarding new team members
- Update Access & Roles - Modifying permissions
- Remove User Access - Offboarding users
Common Scenarios
New engineer joins:
- Add to organization as Member
- Grant Member access to Development project
- Grant Member access to Staging project
- Grant Viewer access to Production project (initially)
- Upgrade to Member for Production after onboarding
Product manager needs access:
- Add to organization as Member
- Grant Member access to all projects
- Provide onboarding on creating insights
- Add to relevant Slack channels for alerts
Executive needs visibility:
- Add to organization as Member
- Grant Viewer access to Production project
- Share key dashboards
- Set up weekly email digest
Contractor engagement:
- Add to organization as Member
- Grant access only to specific project
- Set reminder for access expiration date
- Document scope in access registry
- Remove promptly when engagement ends
Need help? Contact PostHog support or refer to PostHog access control documentation.