Skip to content

Conversation

@nathangavin
Copy link
Contributor

@nathangavin nathangavin commented Dec 4, 2025

Description

Adds a new policy setting to the CNIL dashboard that ensures PII is correctly filtered from incoming tracking requests. Currently an instance/site is considered compliant if the existing global website setting is set to 'Matomo recommended PII'. The ability to replicate this setting value of 'Matomo recommended PII' with the 'custom' option has been deemed out of scope.

Checklist

  • [NA] I have understood, reviewed, and tested all AI outputs before use
  • [NA] All AI instructions respect security, IP, and privacy rules

Review

@nathangavin nathangavin requested a review from a team December 5, 2025 01:39
@nathangavin nathangavin added the Needs Review PRs that need a code review label Dec 5, 2025
Copy link
Contributor

@caddoo caddoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tested this locally by:

  • Disabling CNIL mode.
  • Tracking a visit with PII as query param
  • Observe it in the visitors log.
  • Enable CNIL mode.
  • Tracking a visit with PII as query param.
  • Disable CNIL mode (so I can see the visitor log).
  • Observe the PII isn't in there.

There will probably be product feedback around how this is implemented but this is a step in the right direction.

/**
* @dataProvider getExclusionTypesWithPolicyStatuses
*/
public function testGetExclusionTypeForQueryParamsReturnsCorrectTypeWithCnilPolicy(bool $featureFlagEnabled, string $policy, bool $policyEnabled, string $exclusionTypeToSet, string $expectedExclusionType)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
public function testGetExclusionTypeForQueryParamsReturnsCorrectTypeWithCnilPolicy(bool $featureFlagEnabled, string $policy, bool $policyEnabled, string $exclusionTypeToSet, string $expectedExclusionType)
public function testGetExclusionTypeForQueryParamsReturnsCorrectTypeWithCnilPolicy(bool $featureFlagEnabled, string $policy, bool $policyEnabled, string $exclusionTypeToSet, string $expectedExclusionType): void

$config->FeatureFlags = [$featureFlagConfig => 'disabled'];
}

public function getExclusionTypesWithPolicyStatuses()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
public function getExclusionTypesWithPolicyStatuses()
public function getExclusionTypesWithPolicyStatuses(): \Generator

@nathangavin nathangavin merged commit ea9881d into 5.x-dev Dec 7, 2025
27 of 29 checks passed
@nathangavin nathangavin deleted the dev-19603 branch December 7, 2025 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs Review PRs that need a code review

Development

Successfully merging this pull request may close these issues.

3 participants