DigitalOcean
Application hosting and database. Everything the application stores: account email addresses, password hashes, assessment responses, the demographics offered for comparison, support correspondence, and server logs.
European Union (FRA1, Frankfurt) — droplet and managed Postgres in the same region · Website · Privacy policy · Data processing agreement
MailerSend
Transactional email, outbound and inbound. Recipient email addresses, subject lines and message bodies for account confirmations, password resets and the welcome email; and, in the other direction, any message sent to the support address, which MailerSend receives and forwards to this application.
European Union (Lithuania) · Website · Privacy policy · Data processing agreement
Postmark
DMARC report aggregation. Aggregate DMARC reports from receiving mail servers. These describe our own sending infrastructure -- which servers sent mail claiming to be this domain, and whether it authenticated -- and contain no account data and no message content.
United States · Website · Privacy policy · Data processing agreement
Google Analytics
Website analytics, only for visitors who allow it. Which pages are visited, with any result or assessment number in the address blanked out and no query string; page titles; the referring site; device, browser and approximate location, derived from the IP address, which is not stored. Never answers, scores, demographics, placements or email addresses.
European Union (Google Ireland Limited); Google may process it in the United States under the EU-US Data Privacy Framework · Website · Privacy policy · Data processing agreement
Grafana Cloud
Error and performance monitoring. How long pages and background jobs take and whether they fail, with each page named by its pattern (a result's address becomes /assessments/:id/result) and no query string; warning and error messages, with ids, tokens and email addresses removed before they leave the server; the server's own CPU, memory and disk figures. No IP addresses, browser details, answers, scores, demographics or placements.
European Union (Germany, AWS) · Website · Privacy policy · Data processing agreement
Sentry
Error monitoring. Errors the server raises: the exception, where in the code it happened, and the page or background job it happened in, named by its pattern (a result's address becomes /assessments/:id/result) with no query string; ids, tokens and email addresses are removed from messages before they leave the server. No IP addresses, browser details, cookies, request bodies, answers, scores, demographics or placements. The exception is errors in the site's own scripts: those are reported directly from the visitor's browser, so Sentry receives the IP address and browser details with them, and is set not to store the IP address.
European Union (Germany) · Website · Privacy policy · Data processing agreement
What is not here
The build pipeline and the container registry see source code and compiled images, not people, so they are not sub-processors and are deliberately absent. There is no advertising network on this site, and Google Analytics, above, is the only third-party script, loaded only for visitors who allow it.
Changes
Adding or materially changing a sub-processor is announced by updating this page, which is generated from the same file that records them. If you object to a change, the remedy is to delete your account — which takes effect immediately and destroys your results.