devguard: Your Compliance Platform
PlatformSolutionsFrameworksDevelopersPricing
Sign inStart for free
devguard

One workspace for your whole ISMS: Swiss-hosted, one control set, mapped to every framework you run.

All systems operational
Product
PlatformFeaturesSolutionsFrameworksPricing
Developers
API & CLIIntegrationsDocumentationChangelogSwiss hosting
Company
AboutBlogCompare
© 2026 devguard AG. All rights reserved.
Terms of servicePrivacy policySite noticeTrust centerLLM info
Swiss Made Software
Book a conversationStart for free
Integrations · Monitoring

PostHog
compliance checks, automated

Read-only checks on PostHog show your product analytics collect no more personal data than they need: IP addresses dropped from every event, and session replay either off or masking every input field.

Book a conversation
The checks

What devguard checks in PostHog

3 read-only checks, run on a schedule. Each failure becomes a finding linked to a control. Every check is listed, none are “coming soon”.

Personal API key reads the project

Confirms the personal API key authenticates and can read the project via GET /api/projects/{projectId}/ (HTTP 200).

token-connectivity

info

IP addresses are discarded on ingestion

Fails unless the PostHog project drops the IP address from every ingested event. Reads `anonymize_ips` on GET /api/projects/{projectId}/ and treats a missing or false value as a failure (fail-closed).

ip-anonymization-enabled

medium

Session replay masks input fields

Fails if session replay is on for the PostHog project and its masking config turns off input masking. Reads `session_recording_opt_in` and `session_recording_masking_config.maskAllInputs` on GET /api/projects/{projectId}/. Replay off passes. With replay on, an unset `maskAllInputs` passes, since PostHog and posthog-js mask all inputs by default; only an explicit false fails. A missing `session_recording_opt_in` fails (fail-closed). This reads the project setting only: a `session_recording.maskAllInputs: false` in your posthog-js init can still unmask inputs and is out of reach of an API check.

session-recording-inputs-masked

medium
Book a conversation

Bring your current platform's test list, and we'll map it against these checks, gap by gap

How it connects

Connected by you, scoped by you

Setup is minutes, not a migration project, and every step stays on your side

01

Create a read-only credential

Create the credential in PostHog with the minimum read scope, paste it into devguard, and the connection is live. The integration page in the product spells out the exact permissions.

02

Checks run on a schedule

The first run starts right after connecting, then repeats on a schedule. Results are timestamped, so your evidence has a history, not a snapshot.

03

Evidence lands on the control

Passing results attach as evidence to the controls they support; failures become findings you triage. When the audit comes, the proof is already connected.

Related

More from your stack

Open any page for its full check register.

Better Stack
4 checks
Datadog
4 checks
Grafana Cloud
3 checks
Opsgenie
4 checks

See all integrations

Read-only, revocable, Swiss-hosted

You create and scope every credential yourself, and you can revoke it at any time. Checks only read; results and evidence are stored in Switzerland and stay exportable.

FAQ

Questions about PostHog

Is the PostHog access read-only?

Yes. The checks authenticate with a credential you create and scope yourself, and only ever read configuration. devguard holds no write access to PostHog and remediates nothing silently.

What happens when a check fails?

A failed check becomes a finding linked to the control it supports, with the evidence attached. You decide the treatment. Nothing pages your engineers and nothing is auto-remediated.

Where do the results live?

Checks run from Swiss infrastructure, and results and evidence are stored in Switzerland. Everything is exportable, so your evidence stays yours.

Connect PostHog and see the evidence land

20 minutes on how you run certification today. Bring your current test or control list and we'll map it against these checks, honestly and gap by gap.

Book a conversation