Skip to content

feat: Add custom metric for EVP well-known file parsing - #196

Merged
tunetheweb merged 2 commits into
HTTPArchive:mainfrom
tsunoyu:add-evp
Jun 30, 2026
Merged

feat: Add custom metric for EVP well-known file parsing#196
tunetheweb merged 2 commits into
HTTPArchive:mainfrom
tsunoyu:add-evp

Conversation

@tsunoyu

@tsunoyu tsunoyu commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds support for tracking and analyzing a critical file related to the Email Verification Protocol (EVP):

  1. EVP: /.well-known/email-verification

Changes

  1. Added a new parseResponse call for /.well-known/email-verification to track its presence and extract key metadata cleanly without overloading the payload, such as issuance_endpoint and signing_alg_values_supported.

Example Output

EVP (/.well-known/email-verification)

{
  "/.well-known/email-verification": {
    "found": true,
    "data": {
      "issuance_endpoint": "[https://rowan.fyi/made/email-provider/issuance](https://rowan.fyi/made/email-provider/issuance)",
      "signing_alg_values_supported": [
        "EdDSA"
      ]
    }
  }
}

Test websites:

Comment thread dist/well-known.js Outdated

@tunetheweb tunetheweb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with nits

Comment thread dist/well-known.js Outdated
Co-authored-by: Barry Pollard <barrypollard@google.com>
@github-actions

Copy link
Copy Markdown
https://almanac.httparchive.org/en/2022/

WPT result details

Changed custom metrics values:

{
  "_well-known": {
    "/.well-known/assetlinks.json": {
      "found": false
    },
    "/.well-known/apple-app-site-association": {
      "found": false
    },
    "/.well-known/related-website-set.json": {
      "found": false
    },
    "/.well-known/privacy-sandbox-attestations.json": {
      "found": false
    },
    "/.well-known/gpc.json": {
      "found": false
    },
    "/.well-known/web-identity": {
      "found": false
    },
    "/.well-known/passkey-endpoints": {
      "found": false
    },
    "/.well-known/webauthn": {
      "found": false
    },
    "/.well-known/ucp": {
      "found": false
    },
    "/.well-known/email-verification": {
      "found": false
    },
    "/robots.txt": {
      "found": true,
      "data": {
        "matched_disallows": {}
      }
    },
    "/.well-known/security.txt": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": true,
        "url": "https://almanac.httparchive.org/.well-known/security.txt/",
        "content_type": "text/html; charset=utf-8"
      }
    },
    "/.well-known/change-password": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": true,
        "url": "https://almanac.httparchive.org/.well-known/change-password/"
      }
    },
    "/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200/": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": false,
        "url": "https://almanac.httparchive.org/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200/"
      }
    }
  }
}
https://rowan.fyi

WPT result details

Changed custom metrics values:

{
  "_well-known": {
    "/.well-known/assetlinks.json": {
      "found": false
    },
    "/.well-known/apple-app-site-association": {
      "found": false
    },
    "/.well-known/related-website-set.json": {
      "found": false
    },
    "/.well-known/privacy-sandbox-attestations.json": {
      "found": false
    },
    "/.well-known/gpc.json": {
      "found": false
    },
    "/.well-known/web-identity": {
      "found": true,
      "data": {
        "provider_urls": [
          "https://rowan.fyi/made/email-provider/config.json"
        ],
        "accounts_endpoint": "https://rowan.fyi/made/email-provider/accounts",
        "login_url": "https://rowan.fyi/made/email-provider/"
      }
    },
    "/.well-known/passkey-endpoints": {
      "found": false
    },
    "/.well-known/webauthn": {
      "found": false
    },
    "/.well-known/ucp": {
      "found": false
    },
    "/.well-known/email-verification": {
      "found": true,
      "data": {
        "issuance_endpoint": "https://rowan.fyi/made/email-provider/issuance",
        "signing_alg_values_supported": [
          "EdDSA"
        ]
      }
    },
    "/robots.txt": {
      "found": true,
      "data": {
        "matched_disallows": {}
      }
    },
    "/.well-known/security.txt": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": false,
        "url": "https://rowan.fyi/.well-known/security.txt",
        "content_type": "text/html; charset=utf-8"
      }
    },
    "/.well-known/change-password": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": false,
        "url": "https://rowan.fyi/.well-known/change-password"
      }
    },
    "/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200/": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": false,
        "url": "https://rowan.fyi/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200/"
      }
    }
  }
}
https://business-store.dev

WPT result details

Changed custom metrics values:

{
  "_well-known": {
    "/.well-known/assetlinks.json": {
      "found": false
    },
    "/.well-known/apple-app-site-association": {
      "found": false
    },
    "/.well-known/related-website-set.json": {
      "found": false
    },
    "/.well-known/privacy-sandbox-attestations.json": {
      "found": false
    },
    "/.well-known/gpc.json": {
      "found": false
    },
    "/.well-known/web-identity": {
      "found": false
    },
    "/.well-known/passkey-endpoints": {
      "found": false
    },
    "/.well-known/webauthn": {
      "found": false
    },
    "/.well-known/ucp": {
      "found": true,
      "data": {
        "has_ucp": true,
        "version": "2026-01-23",
        "has_payment_handlers": true,
        "signing_keys_count": 1
      }
    },
    "/.well-known/email-verification": {
      "found": false
    },
    "/robots.txt": {
      "found": true,
      "data": {
        "matched_disallows": {}
      }
    },
    "/.well-known/security.txt": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": false,
        "url": "https://business-store.dev/.well-known/security.txt",
        "content_type": "application/json"
      }
    },
    "/.well-known/change-password": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": false,
        "url": "https://business-store.dev/.well-known/change-password"
      }
    },
    "/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200/": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": false,
        "url": "https://business-store.dev/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200/"
      }
    }
  }
}
https://www.mozilla.org

WPT result details

Changed custom metrics values:

{
  "_well-known": {
    "/.well-known/assetlinks.json": {
      "found": false
    },
    "/.well-known/apple-app-site-association": {
      "found": true,
      "data": {
        "app_links": true,
        "web_credentials": false
      }
    },
    "/.well-known/related-website-set.json": {
      "found": false
    },
    "/.well-known/privacy-sandbox-attestations.json": {
      "found": false
    },
    "/.well-known/gpc.json": {
      "found": true,
      "data": {
        "gpc": true
      }
    },
    "/.well-known/web-identity": {
      "found": false
    },
    "/.well-known/passkey-endpoints": {
      "found": false
    },
    "/.well-known/webauthn": {
      "found": false
    },
    "/.well-known/ucp": {
      "found": false
    },
    "/.well-known/email-verification": {
      "found": false
    },
    "/robots.txt": {
      "found": true,
      "data": {
        "matched_disallows": {}
      }
    },
    "/.well-known/security.txt": {
      "found": true,
      "data": {
        "status": 200,
        "redirected": false,
        "url": "https://www.mozilla.org/.well-known/security.txt",
        "content_type": "text/plain",
        "signed": false,
        "other": [
          [
            "Email",
            "security@mozilla.org"
          ],
          [
            "Main info",
            "https://www.mozilla.org/en-US/security/"
          ],
          [
            "Bounty program",
            "https://www.mozilla.org/en-US/security/bug-bounty/"
          ]
        ],
        "all_required_exist": false,
        "only_one_requirement_broken": false,
        "valid": false
      }
    },
    "/.well-known/change-password": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": false,
        "url": "https://www.mozilla.org/.well-known/change-password"
      }
    },
    "/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200/": {
      "found": false,
      "data": {
        "status": 404,
        "redirected": false,
        "url": "https://www.mozilla.org/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200/"
      }
    }
  }
}

@tunetheweb
tunetheweb merged commit ccbad50 into HTTPArchive:main Jun 30, 2026
2 checks passed
@tsunoyu
tsunoyu deleted the add-evp branch June 30, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants