How 104 software vendors tell you where to report a vulnerability
/.well-known/security.txt is a small text file, standardised as RFC 9116, that says where to send a security report. We read it at every vendor in the registry and checked it against the two things the standard makes mandatory: a contact, and an expiry date that has not passed.
Expired files
Every security.txt has to carry an Expires date, after which RFC 9116 says the file should be treated as stale. It exists so that an abandoned file with a dead mailbox stops being trusted. These files were past that date on the day we read them:
| Vendor | Expires, as written | Read on | File |
|---|---|---|---|
| Adyen | 2025-12-31T22:59:00.000Z | 2026-10-17 | www.adyen.com |
| Element | 2025-01-30T23:00:00.000Z | 2026-10-17 | element.io |
| Microsoft | 2026-09-23T16:00:00.000Z | 2026-10-17 | www.microsoft.com |
An expired file is usually forgotten rather than abandoned: the contact in it may well still work. Amazon Web Services' file had expired on 24 September 2026 when we first read it on 11 October, and had been renewed by our next reading on 17 October.
Missing a required field
20 files have no Expires field at all and 3 have no Contact field, the line the file exists to carry. 1 has an Expires that is not a date in the format the standard requires (RFC 3339).
| Vendor | What RFC 9116 requires and the file lacks | File |
|---|---|---|
| 1Password | no Expires field | 1password.com |
| Aircall | no Contact field; no Expires field | aircall.io |
| Airtable | no Expires field | airtable.com |
| Canva | no Expires field | www.canva.com |
| Cloudflare | no Expires field | www.cloudflare.com |
| Cursor | no Expires field | cursor.com |
| Dropbox | no Contact field; no Expires field | www.dropbox.com |
| Freshworks | no Expires field | www.freshworks.com |
| HubSpot | Expires not a date: 2034-06-01:00:00.000Z | www.hubspot.com |
| Infomaniak | no Expires field | www.infomaniak.com |
| JetBrains | no Expires field | www.jetbrains.com |
| Mailchimp | no Expires field | mailchimp.com |
| New Relic | no Expires field | newrelic.com |
| OVHcloud | no Expires field | www.ovhcloud.com |
| OpenAI | no Expires field | openai.com |
| PayPal | no Expires field | www.paypal.com |
| Sentry | no Expires field | sentry.io |
| Shopify | no Expires field | www.shopify.com |
| Slack | no Expires field | slack.com |
| Supabase | no Expires field | supabase.com |
| Webflow | no Contact field | webflow.com |
| Wix | no Expires field | www.wix.com |
Expiry dates years ahead
The standard also recommends an Expires less than a year away, so that someone looks at the file again. 21 of the 47 files in date set it further out, measured from the day we read them. This is a recommendation, not a requirement, and none of these is counted as a fault above.
| Vendor | Expires, as written | Years ahead |
|---|---|---|
| Google Analytics | 2030-04-01T00:00:00z | 3.5 |
| Google Cloud | 2030-04-01T00:00:00z | 3.5 |
| Google Workspace | 2030-04-01T00:00:00z | 3.5 |
| Notion | 2030-01-01T07:00:00.000Z | 3.2 |
| Docker | 2030-01-01T05:00:00.000Z | 3.2 |
| Datadog | 2029-12-31T23:00:00.000Z | 3.2 |
| Zoom | 2029-12-31T00:00:00.000Z | 3.2 |
| STACKIT | 2029-12-07T22:59:00.000Z | 3.1 |
| Intercom | 2029-03-15T00:00:00z | 2.4 |
| Amplitude | 2028-12-31T23:59:00Z | 2.2 |
| Scaleway | 2028-12-31T09:45:00.000Z | 2.2 |
| Zoho | 2028-06-30T23:59:59.000Z | 1.7 |
| DigitalOcean | 2028-04-05T04:00:00.000Z | 1.5 |
| CrowdStrike | 2028-04-01T04:00:00.000Z | 1.5 |
| IONOS Cloud | 2028-02-11T23:30:00.000Z | 1.3 |
| Contentsquare | 2028-01-31T21:59:00.000Z | 1.3 |
| Squarespace | 2028-01-01T05:00:00.000Z | 1.2 |
| Perplexity | 2027-12-31T00:00:00Z | 1.2 |
| Piwik PRO | 2027-12-16T23:00:00.000Z | 1.2 |
| Hetzner | 2027-11-11T13:14:00.000Z | 1.1 |
| Figma | 2027-10-21T15:25:00.000Z | 1.0 |
Where reports go
Of the 69 files with a contact, 24 give only an email address, 25 only a web page or form (often a bug bounty platform), and 20 give both. 60 link a disclosure policy, which says what a researcher may test and what the vendor promises in return.
No file
27 vendors answer neither /.well-known/security.txt nor the older /security.txt on their main website. That does not mean they have no way to report a vulnerability: a vendor can publish one on an ordinary page, which this count does not look for. It means the standard place to look is empty:
Box, Brevo, Cisco Webex, Docusign, Elastic Cloud, Grafana Labs, Klaviyo, KnowBe4, Langdock, Make, Miro, Nextcloud, Oracle Cloud, Pennylane, Personio, Pipedrive, Pleo, S3NS, Salesforce, Sinch, T Cloud Public, Typeform, Usercentrics, Workday, Xero, Zapier, monday.com.
3DS Outscale, Matomo Cloud, Twilio answer the path with a web page instead of a text file, which a tool reading security.txt cannot use. MongoDB and SAP disallow the path in their robots.txt, so we did not read it and say nothing about whether a file is there.
How this was read
Each file was fetched from the vendor's main website, on the homepage's host and then on the bare domain, and parsed field by field without a model; values are kept as written. The latest readings are from 2026-10-17, and the files are read again every week, so a vendor that renews its file drops off the expired list at the next reading. Products of one company that share a website share its file, so Google's three products count three times. The full method is on the methodology page.