PortSwigger
portswigger.net · API security · checked 2026-09-14
Rank 1 of 22 in API security, where the median is 15.
- 4 found
- 8 not found
- 0 not measured
We measured 12 of 12 criteria for PortSwigger on 2026-09-14. We found 4 with a source and did not find 8 at the addresses we checked. That is a transparency score of 35 out of 100, band E.
Overview
1 day since the newest finding, 1 since the oldest. 12 of 12 criteria measured in the last 30 days.
Evidence freshness is a statement about our measurement and is kept apart from the transparency score, which is frozen at v1. How good our own measurement is.
Transparency labelsaas-ranking.com
PortSwigger
- A
- B
- C
- D
- E
- F
Published commitments3 of 9 found
- foundData processing agreement×3
- not foundSubprocessor list×3
- not foundData location stated×3
- foundStatus page with history×2
- not foundPublic pricing×2
- not foundNotice before subprocessors change×2
- foundCertifications named×1
- not foundUptime SLA with a figure×1
- not foundNamed privacy contact×1
Measured behaviour1 of 3 found
- foundHTTPS enforced with HSTS×2
- not foundNo third-party tracking before consent×2
- not foundsecurity.txt (RFC 9116)×1
Checked 2026-09-14. Every line links the page we found it on. A cross means we found nothing at the addresses we checked, not that the vendor has no such document. A transparency score, not a product rating.
The evidence pack carries every criterion with its source, the addresses we checked, the date and the data snapshot id – the four things a procurement file needs and a screenshot loses. We do not issue badges: a badge is the first step towards a paid placement, and there is none here.
The label is the whole measurement in one object: every criterion with its weight, the band, and the date. Public transparency score, not a product or security rating.
Every line in it links the page we found the result on, or lists the addresses we checked. A cross means we found nothing there, not that PortSwigger has no such document.
Where PortSwigger sits in API security
- A0 0%
- B0 0%
- C0 0%
- D0 0%
- E7 32%
- F15 68%
The band of PortSwigger is marked. Vendors without a score are the ones where we could measure too few criteria to rank them – a gap on our side, counted separately.
What they state
The exact figures and names we read off the pages linked below, with the sentence they stand in. This is what they publish, not what we verified about their systems.
- Named on that page ISO/IEC 27001.
Show the exact wording
Compliance GDPR ISO/IEC 27001 ISO/IEC 27001 SoA VPAT PortSwigger is reviewed and trusted by Amazon AXA Mansard Auto Trader Barcla
Read at https://trust.portswigger.net/ - Third-party hosts we saw on the first load 10 g2.com, google.com, googleapis.com, googletagmanager.com, gstatic.com, licdn.com, linkedin.com, piwik.pro, portswigger.com, stackadapt.com.
Show the 10 exact wordings
tracking-api.g2.com
Read at https://portswigger.net/www.google.com
Read at https://portswigger.net/fonts.googleapis.com
Read at https://portswigger.net/www.googletagmanager.com
Read at https://portswigger.net/fonts.gstatic.com
Read at https://portswigger.net/snap.licdn.com
Read at https://portswigger.net/px.ads.linkedin.com
Read at https://portswigger.net/ps.containers.piwik.pro, ps.piwik.pro
Read at https://portswigger.net/phingest.portswigger.com
Read at https://portswigger.net/tags.srv.stackadapt.com
Read at https://portswigger.net/ - HSTS max-age 31536000 seconds (365 days).
Show the exact wording
max-age=31536000; preload
Read at https://portswigger.net/ - HSTS options preload.
Show the exact wording
max-age=31536000; preload
Read at https://portswigger.net/
Gaps, heaviest first
Subprocessor list
weight 3 of 3No subprocessor list found.
Checked 7 addresses on 2026-09-14.
Show the 7 addresses we checked
https://portswigger.net/legal/subprocessors– reached, no match (HTTP 404)https://portswigger.net/subprocessors– reached, no match (HTTP 404)https://portswigger.net/sub-processors– reached, no match (HTTP 404)https://portswigger.net/legal/sub-processors– reached, no match (HTTP 404)https://portswigger.net/trust/subprocessors– reached, no match (HTTP 404)https://portswigger.net/privacy/subprocessors– reached, no match (HTTP 404)https://portswigger.net/legal/subprocessor-list– reached, no match (HTTP 404)
Data location stated
weight 3 of 3We found this behind a sign-in, so it is not published openly.
Seen at https://portswigger.net/privacy · checked 2026-09-14
Show the 7 addresses we checked
https://portswigger.net/security– reached, no match (HTTP 404)https://portswigger.net/trust– reached, no match (HTTP 404)https://portswigger.net/legal/privacy– reached, no match (HTTP 404)https://portswigger.net/privacy– found, but behind a sign-inhttps://portswigger.net/privacy-policy– reached, no match (HTTP 404)https://portswigger.net/compliance– reached, no match (HTTP 200)https://portswigger.net/legal/privacy-policy– reached, no match (HTTP 404)
Public pricing
weight 2 of 3No public pricing with figures found.
Checked 5 addresses on 2026-09-14.
Show the 5 addresses we checked
https://portswigger.net/pricing– reached and rendered, no matchhttps://portswigger.net/pricing/– reached, no match (HTTP 200)https://portswigger.net/plans– reached, no match (HTTP 404)https://portswigger.net/en/pricing– reached, no match (HTTP 404)https://portswigger.net/pricing-plans– reached, no match (HTTP 404)
No third-party tracking before consent
weight 2 of 3Third-party requests seen on the first load, before any interaction.
- Third-party hosts we saw on the first load 10 g2.com, google.com, googleapis.com, googletagmanager.com, gstatic.com, licdn.com, linkedin.com, piwik.pro, portswigger.com, stackadapt.com.
Show the 10 exact wordings
tracking-api.g2.com
Read at https://portswigger.net/www.google.com
Read at https://portswigger.net/fonts.googleapis.com
Read at https://portswigger.net/www.googletagmanager.com
Read at https://portswigger.net/fonts.gstatic.com
Read at https://portswigger.net/snap.licdn.com
Read at https://portswigger.net/px.ads.linkedin.com
Read at https://portswigger.net/ps.containers.piwik.pro, ps.piwik.pro
Read at https://portswigger.net/phingest.portswigger.com
Read at https://portswigger.net/tags.srv.stackadapt.com
Read at https://portswigger.net/
Checked 1 address on 2026-09-14.
Show the 1 address we checked
https://portswigger.net/– third-party requests before any interaction: fonts.googleapis.com, fonts.gstatic.com, phingest.portswigger.com, ps.containers.piwik.pro, ps.piwik.pro, px.ads.linkedin.com, snap.licdn.com, tags.srv.stackadapt.com, tracking-api.g2.com, www.google.com, www.googletagmanager.com
Notice before subprocessors change
weight 2 of 3No commitment to give notice before subprocessors change found.
Checked 8 addresses on 2026-09-14.
Show the 8 addresses we checked
https://portswigger.net/legal/subprocessors– reached, no match (HTTP 404)https://portswigger.net/subprocessors– reached, no match (HTTP 404)https://portswigger.net/sub-processors– reached, no match (HTTP 404)https://portswigger.net/legal/dpa– reached, no match (HTTP 404)https://portswigger.net/dpa– reached, no match (HTTP 404)https://portswigger.net/legal/data-processing-agreement– reached, no match (HTTP 404)https://portswigger.net/trust/subprocessors– reached, no match (HTTP 404)https://portswigger.net/legal/sub-processors– reached, no match (HTTP 404)
Uptime SLA with a figure
weight 1 of 3No uptime figure found.
Checked 6 addresses on 2026-09-14.
Show the 6 addresses we checked
https://portswigger.net/legal/sla– reached, no match (HTTP 404)https://portswigger.net/sla– reached, no match (HTTP 404)https://portswigger.net/legal/service-level-agreement– reached, no match (HTTP 404)https://portswigger.net/trust/sla– reached, no match (HTTP 404)https://portswigger.net/uptime– reached, no match (HTTP 404)https://portswigger.net/legal/uptime-sla– reached, no match (HTTP 404)
security.txt (RFC 9116)
weight 1 of 3No security.txt found.
Checked 1 address on 2026-09-14.
Show the 1 address we checked
https://portswigger.net/.well-known/security.txt– reached, no match (HTTP 404)
Named privacy contact
weight 1 of 3We found this behind a sign-in, so it is not published openly.
Seen at https://portswigger.net/privacy · checked 2026-09-14
Show the 7 addresses we checked
https://portswigger.net/legal/privacy– reached, no match (HTTP 404)https://portswigger.net/privacy– found, but behind a sign-inhttps://portswigger.net/privacy-policy– reached, no match (HTTP 404)https://portswigger.net/legal/privacy-policy– reached, no match (HTTP 404)https://portswigger.net/legal/privacy-notice– reached, no match (HTTP 404)https://portswigger.net/trust/privacy– reached, no match (HTTP 404)https://portswigger.net/datenschutz– reached, no match (HTTP 404)
Evidence
The full source lists sit behind these two groups, so that the answer above stays readable.
Published, with a source 4
Data processing agreement
weight 3 of 3Published and readable without a login.
Source: https://portswigger.net/data-processing-agreement · checked 2026-09-14
Status page with history
weight 2 of 3A public status page with incident history.
Source: https://status.portswigger.net/ · checked 2026-09-14
HTTPS enforced with HSTS
weight 2 of 3HTTP redirects to HTTPS and the HSTS header is set.
- HSTS max-age 31536000 seconds (365 days).
Show the exact wording
max-age=31536000; preload
Read at https://portswigger.net/ - HSTS options preload.
Show the exact wording
max-age=31536000; preload
Read at https://portswigger.net/
Source: https://portswigger.net/ · checked 2026-09-14
Certifications named
weight 1 of 3SOC 2 or ISO 27001 named on a public page.
- Named on that page ISO/IEC 27001.
Show the exact wording
Compliance GDPR ISO/IEC 27001 ISO/IEC 27001 SoA VPAT PortSwigger is reviewed and trusted by Amazon AXA Mansard Auto Trader Barcla
Read at https://trust.portswigger.net/
Source: https://trust.portswigger.net/ · checked 2026-09-14
History
Not enough completed runs yet to draw a line. The next runs fill this in.
Compare
A shortlist holds up to six vendors across categories and lives entirely in the address of its page: share the link, bookmark it, put it in a ticket. Nothing is stored, so we do not know it exists.