Please report security vulnerabilities privately using GitHub's private vulnerability reporting for this repository, or by emailing security@groundcover.com.
Do not open a public issue for security reports.
We aim to acknowledge reports within a few business days and will keep you updated on remediation progress.
The SDK follows the runtime's official support window (the two most recent Go
majors). Security fixes target the latest released minor version. See the
compatibility table in README.md.
- The SDK never sends raw client IP addresses; geo/IP is derived server-side.
BeforeSendis the single chokepoint for scrubbing PII/secrets before data leaves the process (it sees the finalized*Event; returnnilto drop).- An optional keyed-HMAC
IdentityHasherpseudonymizesuser.id/user.emailat the SDK boundary.
The SDK does not hard-block PII by default. Know exactly what can leave:
| Field | Default handling |
|---|---|
user.id, user.email |
Pseudonymized if Hasher is set; otherwise sent as-is |
user.name, user.organization |
Sent as-is — not covered by Hasher |
custom Attributes, error_message, error_stacktrace |
Sent as-is unless scrubbed in BeforeSend |
| client IP | Never sent (derived server-side) |
| SDK-internal logs | Record the type of a recovered internal panic, not its value |
If your errors or attributes may carry sensitive data, configure a BeforeSend
scrubber. The optional Debug mode prints events after scrubbing/hashing, so it
respects both BeforeSend and Hasher.