{
  "generated_from": "https://saas-ranking.com/whistleblowing/whistlelink",
  "disclaimer": "Every result describes what we found at the addresses we checked on the date given. It is not a statement about what the vendor does or does not have. The score is a public transparency score, not a product or security rating.",
  "snapshot": "r122.107528",
  "snapshot_run": 122,
  "score_version": "v1",
  "vendor": {
    "name": "Whistlelink",
    "domain": "whistlelink.com"
  },
  "category": {
    "slug": "whistleblowing",
    "name": "Whistleblowing systems"
  },
  "score": 35,
  "band": "E",
  "measured": 12,
  "of": 12,
  "criteria": [
    {
      "key": "dpa",
      "name": "Data processing agreement",
      "weight": 3,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/legal/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/data-processing-agreement",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/data-processing-agreement",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/data-processing-addendum",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/gdpr",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/trust/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/privacy/dpa",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.149Z"
    },
    {
      "key": "subprozessoren",
      "name": "Subprocessor list",
      "weight": 3,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/legal/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/sub-processors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/sub-processors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/trust/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/privacy/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/subprocessor-list",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.149Z"
    },
    {
      "key": "datenregion",
      "name": "Data location stated",
      "weight": 3,
      "result": "found",
      "source_url": "https://www.whistlelink.com/privacy-notice/",
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/security",
          "result": "found, but behind a sign-in"
        },
        {
          "url": "https://whistlelink.com/trust",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/privacy",
          "result": "found"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.149Z"
    },
    {
      "key": "statusseite",
      "name": "Status page with history",
      "weight": 2,
      "result": "found",
      "source_url": "https://www.whistlelink.com/status/",
      "addresses_checked": [
        {
          "url": "https://status.whistlelink.com/",
          "result": "reached, no match (HTTP 200)"
        },
        {
          "url": "https://whistlelink.com/status",
          "result": "found"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.149Z"
    },
    {
      "key": "preise",
      "name": "Public pricing",
      "weight": 2,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/pricing",
          "result": "found, but behind a sign-in"
        },
        {
          "url": "https://whistlelink.com/pricing/",
          "result": "found, but behind a sign-in"
        },
        {
          "url": "https://whistlelink.com/plans",
          "result": "Not the expected content type but \"image/png\"."
        },
        {
          "url": "https://whistlelink.com/en/pricing",
          "result": "found, but behind a sign-in"
        },
        {
          "url": "https://whistlelink.com/pricing-plans",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": "We found this behind a sign-in, so it is not published openly.",
      "measured_on": "2026-09-16T00:24:53.149Z"
    },
    {
      "key": "zertifizierungen",
      "name": "Certifications named",
      "weight": 1,
      "result": "found",
      "source_url": "https://www.whistlelink.com/security-assessment/",
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/security",
          "result": "found"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.149Z"
    },
    {
      "key": "sla",
      "name": "Uptime SLA with a figure",
      "weight": 1,
      "result": "found",
      "source_url": "https://www.whistlelink.com/status/",
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/legal/sla",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/sla",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/service-level-agreement",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/trust/sla",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/uptime",
          "result": "found"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "transport",
      "name": "HTTPS enforced with HSTS",
      "weight": 2,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "http://whistlelink.com/",
          "result": "redirects to https://www.whistlelink.com/"
        },
        {
          "url": "https://whistlelink.com/",
          "result": "no HSTS header"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "tracker_vor_einwilligung",
      "name": "No third-party tracking before consent",
      "weight": 2,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/",
          "result": "third-party requests before any interaction: 4eec360b.sibforms.com, assets.calendly.com, calendly.com, cdn.cookie-script.com, cdn.linearicons.com, fonts.googleapis.com, fonts.gstatic.com, geo.cookie-script.com, ipapi.co, region1.google-analytics.com, s.w.org, sibforms.com, www.google.com, www.googletagmanager.com, www.gstatic.com"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "security_txt",
      "name": "security.txt (RFC 9116)",
      "weight": 1,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/.well-known/security.txt",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "subprozessor_meldung",
      "name": "Notice before subprocessors change",
      "weight": 2,
      "result": "not_found",
      "source_url": null,
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/legal/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/sub-processors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/dpa",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/data-processing-agreement",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/trust/subprocessors",
          "result": "reached, no match (HTTP 404)"
        },
        {
          "url": "https://whistlelink.com/legal/sub-processors",
          "result": "reached, no match (HTTP 404)"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "datenschutzkontakt",
      "name": "Named privacy contact",
      "weight": 1,
      "result": "found",
      "source_url": "https://www.whistlelink.com/privacy-notice/",
      "addresses_checked": [
        {
          "url": "https://whistlelink.com/legal/privacy",
          "result": "found"
        }
      ],
      "note": null,
      "measured_on": "2026-09-16T00:24:53.150Z"
    }
  ],
  "details": [
    {
      "key": "datenregion",
      "name": "Hosting location named",
      "value": "european-economic-area",
      "subject": null,
      "quote": "Even though our IT systems and servers are located within the EU/EEA, your information may need to be shared with a supplier or a subcontractor outside the EU/EEA, for",
      "source_url": "https://www.whistlelink.com/privacy-notice/",
      "measured_on": "2026-09-16T00:24:53.149Z"
    },
    {
      "key": "datenregion",
      "name": "Hosting location named",
      "value": "european-union",
      "subject": null,
      "quote": "Even though our IT systems and servers are located within the EU/EEA, your information may need to be shared with a supplier or a subcontractor outside the EU/EEA,",
      "source_url": "https://www.whistlelink.com/privacy-notice/",
      "measured_on": "2026-09-16T00:24:53.149Z"
    },
    {
      "key": "datenschutzkontakt_art",
      "name": "Privacy contact",
      "value": "data-protection-officer",
      "subject": null,
      "quote": "dpo",
      "source_url": "https://www.whistlelink.com/privacy-notice/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "datenschutzkontakt_art",
      "name": "Privacy contact",
      "value": "dedicated-address",
      "subject": null,
      "quote": "[address]@whistlelink.com",
      "source_url": "https://www.whistlelink.com/privacy-notice/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "calendly.com",
      "subject": null,
      "quote": "assets.calendly.com, calendly.com",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "cookie-script.com",
      "subject": null,
      "quote": "cdn.cookie-script.com, geo.cookie-script.com",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "google-analytics.com",
      "subject": null,
      "quote": "region1.google-analytics.com",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "google.com",
      "subject": null,
      "quote": "www.google.com",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "googleapis.com",
      "subject": null,
      "quote": "fonts.googleapis.com",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "googletagmanager.com",
      "subject": null,
      "quote": "www.googletagmanager.com",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "gstatic.com",
      "subject": null,
      "quote": "fonts.gstatic.com, www.gstatic.com",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "ipapi.co",
      "subject": null,
      "quote": "ipapi.co",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "linearicons.com",
      "subject": null,
      "quote": "cdn.linearicons.com",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "sibforms.com",
      "subject": null,
      "quote": "4eec360b.sibforms.com, sibforms.com",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "drittanbieter",
      "name": "Third-party host on first load",
      "value": "w.org",
      "subject": null,
      "quote": "s.w.org",
      "source_url": "https://whistlelink.com/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "sla_prozent",
      "name": "Uptime figure",
      "value": "100",
      "subject": null,
      "quote": "Book a meeting Whistlelink system status Service is operating normally Uptime report: August 2026: 100% July 2026: 100% June 2026: 100% May 2026: 100% April 2026: 100% Calculated uptime is excluding p...",
      "source_url": "https://www.whistlelink.com/status/",
      "measured_on": "2026-09-16T00:24:53.150Z"
    },
    {
      "key": "zertifikat",
      "name": "Certification named",
      "value": "iso-27001",
      "subject": "anbieter",
      "quote": "compliance programs—built for anonymous reporting, clear oversight, and enterprise-grade security (ISO 27001-certified).",
      "source_url": "https://www.whistlelink.com/security-assessment/",
      "measured_on": "2026-09-16T00:24:53.149Z"
    }
  ]
}