You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Privacy] Per-usage telemetry anonymizes type names with reversible unsalted 32-bit FNV-1a #55
Per-usage license telemetry "anonymizes" customer type full-names with an unsalted, unkeyed 32-bit FNV-1a hash, then uploads it (encrypted in transit) to the vendor. Because the hash is non-cryptographic, 32-bit, unsalted, and the preimages are low-entropy guessable CLR type names, the receiving server can reverse it (precompute / brute-force the 2^32 space against a name wordlist), recovering the customer's proprietary type names that the hashing was meant to conceal. Not MITM-exploitable (the payload is encrypted) - the weakness is against the vendor/recipient.
Recommendation
If true de-identification is intended, use a wide cryptographic hash keyed/salted with a per-customer secret the server never receives (HMAC-SHA-256 with a locally-generated, never-uploaded salt); or drop per-type granularity and upload only per-license aggregate counts/LOC. At minimum, document in the privacy notice that per-usage type identifiers are sent in a reversible-hashed form.
Backward compatibility
The .psbin format is internal telemetry plumbing; changing the hash needs a coordinated server-side decoder update but no public API/IL/MSBuild/pipe break.
Resolution
The per-usage (metered) license is no longer supported, so the per-usage telemetry has been removed entirely - PostSharp no longer collects, hashes, or uploads type names. A fix is in progress.
changed the title [-]Placeholder for #60[/-][+][Privacy] Per-usage telemetry anonymizes type names with reversible unsalted 32-bit FNV-1a[/+]on Jun 19, 2026
Activity
[-]Placeholder for #60[/-][+][Privacy] Per-usage telemetry anonymizes type names with reversible unsalted 32-bit FNV-1a[/+]gfraiteur commentedon Jun 27, 2026
Released in v2024.0.24.
-- Claude for Gael
gfraiteur commentedon Jun 27, 2026
Also released in v2026.0.13, which includes the upstream 2024.0.24 changes.
-- Claude for Gael