Skip to main content
Required by EU law for organizations with 50+ employees

Self-conducted security testing #

This is first-party testing. It is performed by the operator, not by an independent assessor, and it does not substitute for the independent external penetration test recorded as absent on Trust . It is published because the substance is useful to a reviewer even where the independence is missing.

Last updated: 2026-09-05.


Testing performed #

DateTypeScopeOutcome
2026-05-26Code-level security assessmentStatic analysis, dependency audit, and manual review of authentication, authorization, and file handlingUpload handling identified as the highest-risk area. Findings tracked in the issue tracker and remediated: server-side attachment-count limits, direct-upload authorization, and parameter and IP scrubbing in logs
2026-05-26External production test, non-destructiveResponse headers, TLS configuration, public pages, and metadata probes against the production hostResponse-header coverage gaps and missing security-contact metadata; reliance on third-party asset CDNs assessed as medium risk. Remediated 2026-05-27: security-contact metadata published, content-type sniffing protection extended to static assets
2026-06-09Authentication reviewCookie handling, session lifecycle, magic-link and invitation flowsTwo informational findings. Remediated 2026-06-14: the pending-authentication cookie moved to an encrypted store so the address is not readable client-side; the session cookie’s stated expiry now matches the 14-day server-side idle timeout
2026-08-27Authenticated graybox testCross-tenant access, privilege escalation, mass assignment, within-tenant report access, attachment confidentiality, SCIM isolation, SAML assertion trustNo authorization defects found. Tenant and role boundaries held in every case tested
2026-08-27Production exposure reviewNetwork exposure, host hardening, proxy header handling, secret handlingClient-supplied forwarding headers were trusted on a directly internet-facing origin, which would have allowed the per-IP rate limits to be bypassed. Fixed the same day. A per-request server-timing header was also removed. The superseded Feature-Policy header was replaced with Permissions-Policy on 2026-09-05

Known open findings #

FindingPosition
No web application firewall or CDN in front of the application originDeliberate. Direct application and file hosting is in the EU, while the email and telemetry chain may involve downstream processing outside the EEA. Network-level DDoS protection at the hosting provider plus application-layer rate limiting is the current trade-off.

What this does not establish #

Last updated: