@mridang/webhint-hint-plumbline 0.0.0-stage → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +408 -2
- package/configs/agent-ready.json +31 -0
- package/configs/agent.json +43 -0
- package/configs/apple.json +9 -0
- package/configs/dns.json +39 -0
- package/configs/email.json +38 -0
- package/configs/files.json +13 -0
- package/configs/google.json +27 -0
- package/configs/iab.json +11 -0
- package/configs/ietf.json +15 -0
- package/configs/indieweb.json +10 -0
- package/configs/internetnl.json +73 -0
- package/configs/llmscout.json +20 -0
- package/configs/mdn.json +47 -0
- package/configs/observatory.json +19 -0
- package/configs/oembed.json +9 -0
- package/configs/opengraph.json +56 -0
- package/configs/opensearch.json +10 -0
- package/configs/original.json +11 -0
- package/configs/owasp.json +37 -0
- package/configs/privacy.json +28 -0
- package/configs/pwa.json +12 -0
- package/configs/roctify.json +57 -0
- package/configs/security-headers.json +93 -0
- package/configs/seo.json +90 -0
- package/configs/social.json +47 -0
- package/configs/tls.json +47 -0
- package/configs/w3c.json +15 -0
- package/configs/webbkoll.json +19 -0
- package/dist/browser/child-process.d.ts +8 -0
- package/dist/browser/child-process.js +12 -0
- package/dist/browser/child-process.js.map +1 -0
- package/dist/browser/crypto.d.ts +16 -0
- package/dist/browser/crypto.js +24 -0
- package/dist/browser/crypto.js.map +1 -0
- package/dist/browser/fs.d.ts +17 -0
- package/dist/browser/fs.js +33 -0
- package/dist/browser/fs.js.map +1 -0
- package/dist/browser/hint.d.ts +13 -0
- package/dist/browser/hint.js +15 -0
- package/dist/browser/hint.js.map +1 -0
- package/dist/browser/http.d.ts +9 -0
- package/dist/browser/http.js +13 -0
- package/dist/browser/http.js.map +1 -0
- package/dist/browser/net.d.ts +14 -0
- package/dist/browser/net.js +36 -0
- package/dist/browser/net.js.map +1 -0
- package/dist/browser/refusals.d.ts +25 -0
- package/dist/browser/refusals.js +36 -0
- package/dist/browser/refusals.js.map +1 -0
- package/dist/browser/tls.d.ts +18 -0
- package/dist/browser/tls.js +19 -0
- package/dist/browser/tls.js.map +1 -0
- package/dist/browser/url.d.ts +8 -0
- package/dist/browser/url.js +16 -0
- package/dist/browser/url.js.map +1 -0
- package/dist/core/define-hint.d.ts +37 -0
- package/dist/core/define-hint.js +79 -0
- package/dist/core/define-hint.js.map +1 -0
- package/dist/core/dns.d.ts +31 -0
- package/dist/core/dns.js +35 -0
- package/dist/core/dns.js.map +1 -0
- package/dist/core/groups.d.ts +12 -0
- package/dist/core/groups.js +44 -0
- package/dist/core/groups.js.map +1 -0
- package/dist/core/http.d.ts +5 -0
- package/dist/core/http.js +18 -0
- package/dist/core/http.js.map +1 -0
- package/dist/core/origins.d.ts +19 -0
- package/dist/core/origins.js +3652 -0
- package/dist/core/origins.js.map +1 -0
- package/dist/core/page.d.ts +34 -0
- package/dist/core/page.js +61 -0
- package/dist/core/page.js.map +1 -0
- package/dist/core/rpki.d.ts +23 -0
- package/dist/core/rpki.js +39 -0
- package/dist/core/rpki.js.map +1 -0
- package/dist/core/sources.d.ts +12 -0
- package/dist/core/sources.js +117 -0
- package/dist/core/sources.js.map +1 -0
- package/dist/core/taxonomy.d.ts +20 -0
- package/dist/core/taxonomy.js +418 -0
- package/dist/core/taxonomy.js.map +1 -0
- package/dist/hints/agent/agent-a2a-agent-card.d.ts +6 -0
- package/dist/hints/agent/agent-a2a-agent-card.js +12 -0
- package/dist/hints/agent/agent-a2a-agent-card.js.map +1 -0
- package/dist/hints/agent/agent-acp.d.ts +6 -0
- package/dist/hints/agent/agent-acp.js +13 -0
- package/dist/hints/agent/agent-acp.js.map +1 -0
- package/dist/hints/agent/agent-ai-bot-rules.d.ts +6 -0
- package/dist/hints/agent/agent-ai-bot-rules.js +13 -0
- package/dist/hints/agent/agent-ai-bot-rules.js.map +1 -0
- package/dist/hints/agent/agent-api-catalog.d.ts +6 -0
- package/dist/hints/agent/agent-api-catalog.js +12 -0
- package/dist/hints/agent/agent-api-catalog.js.map +1 -0
- package/dist/hints/agent/agent-ard.d.ts +6 -0
- package/dist/hints/agent/agent-ard.js +13 -0
- package/dist/hints/agent/agent-ard.js.map +1 -0
- package/dist/hints/agent/agent-auth-md.d.ts +6 -0
- package/dist/hints/agent/agent-auth-md.js +12 -0
- package/dist/hints/agent/agent-auth-md.js.map +1 -0
- package/dist/hints/agent/agent-content-signals.d.ts +6 -0
- package/dist/hints/agent/agent-content-signals.js +13 -0
- package/dist/hints/agent/agent-content-signals.js.map +1 -0
- package/dist/hints/agent/agent-dns-aid.d.ts +6 -0
- package/dist/hints/agent/agent-dns-aid.js +13 -0
- package/dist/hints/agent/agent-dns-aid.js.map +1 -0
- package/dist/hints/agent/agent-link-headers.d.ts +6 -0
- package/dist/hints/agent/agent-link-headers.js +12 -0
- package/dist/hints/agent/agent-link-headers.js.map +1 -0
- package/dist/hints/agent/agent-markdown-negotiation.d.ts +6 -0
- package/dist/hints/agent/agent-markdown-negotiation.js +12 -0
- package/dist/hints/agent/agent-markdown-negotiation.js.map +1 -0
- package/dist/hints/agent/agent-mcp-server-card.d.ts +6 -0
- package/dist/hints/agent/agent-mcp-server-card.js +12 -0
- package/dist/hints/agent/agent-mcp-server-card.js.map +1 -0
- package/dist/hints/agent/agent-mpp.d.ts +6 -0
- package/dist/hints/agent/agent-mpp.js +13 -0
- package/dist/hints/agent/agent-mpp.js.map +1 -0
- package/dist/hints/agent/agent-oauth-discovery.d.ts +6 -0
- package/dist/hints/agent/agent-oauth-discovery.js +12 -0
- package/dist/hints/agent/agent-oauth-discovery.js.map +1 -0
- package/dist/hints/agent/agent-oauth-protected-resource.d.ts +6 -0
- package/dist/hints/agent/agent-oauth-protected-resource.js +12 -0
- package/dist/hints/agent/agent-oauth-protected-resource.js.map +1 -0
- package/dist/hints/agent/agent-poppy.d.ts +6 -0
- package/dist/hints/agent/agent-poppy.js +12 -0
- package/dist/hints/agent/agent-poppy.js.map +1 -0
- package/dist/hints/agent/agent-robots-txt.d.ts +6 -0
- package/dist/hints/agent/agent-robots-txt.js +12 -0
- package/dist/hints/agent/agent-robots-txt.js.map +1 -0
- package/dist/hints/agent/agent-score.d.ts +8 -0
- package/dist/hints/agent/agent-score.js +30 -0
- package/dist/hints/agent/agent-score.js.map +1 -0
- package/dist/hints/agent/agent-sitemap.d.ts +6 -0
- package/dist/hints/agent/agent-sitemap.js +13 -0
- package/dist/hints/agent/agent-sitemap.js.map +1 -0
- package/dist/hints/agent/agent-skills.d.ts +6 -0
- package/dist/hints/agent/agent-skills.js +12 -0
- package/dist/hints/agent/agent-skills.js.map +1 -0
- package/dist/hints/agent/agent-ucp.d.ts +6 -0
- package/dist/hints/agent/agent-ucp.js +13 -0
- package/dist/hints/agent/agent-ucp.js.map +1 -0
- package/dist/hints/agent/agent-web-bot-auth.d.ts +6 -0
- package/dist/hints/agent/agent-web-bot-auth.js +13 -0
- package/dist/hints/agent/agent-web-bot-auth.js.map +1 -0
- package/dist/hints/agent/agent-webmcp.d.ts +6 -0
- package/dist/hints/agent/agent-webmcp.js +12 -0
- package/dist/hints/agent/agent-webmcp.js.map +1 -0
- package/dist/hints/agent/agent-x402.d.ts +6 -0
- package/dist/hints/agent/agent-x402.js +13 -0
- package/dist/hints/agent/agent-x402.js.map +1 -0
- package/dist/hints/agent/define-agent-hint.d.ts +20 -0
- package/dist/hints/agent/define-agent-hint.js +46 -0
- package/dist/hints/agent/define-agent-hint.js.map +1 -0
- package/dist/hints/agent/index.d.ts +3 -0
- package/dist/hints/agent/index.js +50 -0
- package/dist/hints/agent/index.js.map +1 -0
- package/dist/hints/agent/scan.d.ts +10 -0
- package/dist/hints/agent/scan.js +73 -0
- package/dist/hints/agent/scan.js.map +1 -0
- package/dist/hints/discovery/host-meta.d.ts +8 -0
- package/dist/hints/discovery/host-meta.js +34 -0
- package/dist/hints/discovery/host-meta.js.map +1 -0
- package/dist/hints/discovery/index.d.ts +7 -0
- package/dist/hints/discovery/index.js +22 -0
- package/dist/hints/discovery/index.js.map +1 -0
- package/dist/hints/discovery/nodeinfo.d.ts +8 -0
- package/dist/hints/discovery/nodeinfo.js +33 -0
- package/dist/hints/discovery/nodeinfo.js.map +1 -0
- package/dist/hints/discovery/pingback.d.ts +8 -0
- package/dist/hints/discovery/pingback.js +30 -0
- package/dist/hints/discovery/pingback.js.map +1 -0
- package/dist/hints/discovery/rel-me.d.ts +8 -0
- package/dist/hints/discovery/rel-me.js +30 -0
- package/dist/hints/discovery/rel-me.js.map +1 -0
- package/dist/hints/discovery/webfinger.d.ts +8 -0
- package/dist/hints/discovery/webfinger.js +34 -0
- package/dist/hints/discovery/webfinger.js.map +1 -0
- package/dist/hints/discovery/webmention.d.ts +8 -0
- package/dist/hints/discovery/webmention.js +30 -0
- package/dist/hints/discovery/webmention.js.map +1 -0
- package/dist/hints/email/index.d.ts +3 -0
- package/dist/hints/email/index.js +58 -0
- package/dist/hints/email/index.js.map +1 -0
- package/dist/hints/email/mail-caa.d.ts +12 -0
- package/dist/hints/email/mail-caa.js +40 -0
- package/dist/hints/email/mail-caa.js.map +1 -0
- package/dist/hints/email/mail-cert-hostname.d.ts +13 -0
- package/dist/hints/email/mail-cert-hostname.js +36 -0
- package/dist/hints/email/mail-cert-hostname.js.map +1 -0
- package/dist/hints/email/mail-cert-pubkey.d.ts +12 -0
- package/dist/hints/email/mail-cert-pubkey.js +19 -0
- package/dist/hints/email/mail-cert-pubkey.js.map +1 -0
- package/dist/hints/email/mail-cert-signature.d.ts +12 -0
- package/dist/hints/email/mail-cert-signature.js +19 -0
- package/dist/hints/email/mail-cert-signature.js.map +1 -0
- package/dist/hints/email/mail-cert-trust.d.ts +15 -0
- package/dist/hints/email/mail-cert-trust.js +23 -0
- package/dist/hints/email/mail-cert-trust.js.map +1 -0
- package/dist/hints/email/mail-dane-rollover.d.ts +13 -0
- package/dist/hints/email/mail-dane-rollover.js +52 -0
- package/dist/hints/email/mail-dane-rollover.js.map +1 -0
- package/dist/hints/email/mail-dane.d.ts +12 -0
- package/dist/hints/email/mail-dane.js +94 -0
- package/dist/hints/email/mail-dane.js.map +1 -0
- package/dist/hints/email/mail-dkim.d.ts +12 -0
- package/dist/hints/email/mail-dkim.js +80 -0
- package/dist/hints/email/mail-dkim.js.map +1 -0
- package/dist/hints/email/mail-dmarc.d.ts +11 -0
- package/dist/hints/email/mail-dmarc.js +67 -0
- package/dist/hints/email/mail-dmarc.js.map +1 -0
- package/dist/hints/email/mail-dnssec.d.ts +10 -0
- package/dist/hints/email/mail-dnssec.js +74 -0
- package/dist/hints/email/mail-dnssec.js.map +1 -0
- package/dist/hints/email/mail-ipv6.d.ts +9 -0
- package/dist/hints/email/mail-ipv6.js +78 -0
- package/dist/hints/email/mail-ipv6.js.map +1 -0
- package/dist/hints/email/mail-ns-rpki-exists.d.ts +12 -0
- package/dist/hints/email/mail-ns-rpki-exists.js +40 -0
- package/dist/hints/email/mail-ns-rpki-exists.js.map +1 -0
- package/dist/hints/email/mail-ns-rpki-valid.d.ts +11 -0
- package/dist/hints/email/mail-ns-rpki-valid.js +42 -0
- package/dist/hints/email/mail-ns-rpki-valid.js.map +1 -0
- package/dist/hints/email/mail-rpki.d.ts +11 -0
- package/dist/hints/email/mail-rpki.js +79 -0
- package/dist/hints/email/mail-rpki.js.map +1 -0
- package/dist/hints/email/mail-spf.d.ts +9 -0
- package/dist/hints/email/mail-spf.js +79 -0
- package/dist/hints/email/mail-spf.js.map +1 -0
- package/dist/hints/email/mail-starttls.d.ts +18 -0
- package/dist/hints/email/mail-starttls.js +84 -0
- package/dist/hints/email/mail-starttls.js.map +1 -0
- package/dist/hints/email/mail-tls-cipher-order.d.ts +12 -0
- package/dist/hints/email/mail-tls-cipher-order.js +19 -0
- package/dist/hints/email/mail-tls-cipher-order.js.map +1 -0
- package/dist/hints/email/mail-tls-ciphers.d.ts +12 -0
- package/dist/hints/email/mail-tls-ciphers.js +19 -0
- package/dist/hints/email/mail-tls-ciphers.js.map +1 -0
- package/dist/hints/email/mail-tls-compression.d.ts +12 -0
- package/dist/hints/email/mail-tls-compression.js +19 -0
- package/dist/hints/email/mail-tls-compression.js.map +1 -0
- package/dist/hints/email/mail-tls-ems.d.ts +12 -0
- package/dist/hints/email/mail-tls-ems.js +19 -0
- package/dist/hints/email/mail-tls-ems.js.map +1 -0
- package/dist/hints/email/mail-tls-kex-hash.d.ts +12 -0
- package/dist/hints/email/mail-tls-kex-hash.js +19 -0
- package/dist/hints/email/mail-tls-kex-hash.js.map +1 -0
- package/dist/hints/email/mail-tls-kex-params.d.ts +12 -0
- package/dist/hints/email/mail-tls-kex-params.js +19 -0
- package/dist/hints/email/mail-tls-kex-params.js.map +1 -0
- package/dist/hints/email/mail-tls-ocsp-stapling.d.ts +12 -0
- package/dist/hints/email/mail-tls-ocsp-stapling.js +19 -0
- package/dist/hints/email/mail-tls-ocsp-stapling.js.map +1 -0
- package/dist/hints/email/mail-tls-renegotiation-client.d.ts +12 -0
- package/dist/hints/email/mail-tls-renegotiation-client.js +19 -0
- package/dist/hints/email/mail-tls-renegotiation-client.js.map +1 -0
- package/dist/hints/email/mail-tls-renegotiation-secure.d.ts +12 -0
- package/dist/hints/email/mail-tls-renegotiation-secure.js +19 -0
- package/dist/hints/email/mail-tls-renegotiation-secure.js.map +1 -0
- package/dist/hints/email/mail-tls-version.d.ts +12 -0
- package/dist/hints/email/mail-tls-version.js +19 -0
- package/dist/hints/email/mail-tls-version.js.map +1 -0
- package/dist/hints/email/mail-tls-zero-rtt.d.ts +12 -0
- package/dist/hints/email/mail-tls-zero-rtt.js +19 -0
- package/dist/hints/email/mail-tls-zero-rtt.js.map +1 -0
- package/dist/hints/email/on-mail-tls.d.ts +16 -0
- package/dist/hints/email/on-mail-tls.js +55 -0
- package/dist/hints/email/on-mail-tls.js.map +1 -0
- package/dist/hints/emailpolicy/bimi.d.ts +12 -0
- package/dist/hints/emailpolicy/bimi.js +56 -0
- package/dist/hints/emailpolicy/bimi.js.map +1 -0
- package/dist/hints/emailpolicy/groups.d.ts +9 -0
- package/dist/hints/emailpolicy/groups.js +9 -0
- package/dist/hints/emailpolicy/groups.js.map +1 -0
- package/dist/hints/emailpolicy/index.d.ts +7 -0
- package/dist/hints/emailpolicy/index.js +14 -0
- package/dist/hints/emailpolicy/index.js.map +1 -0
- package/dist/hints/emailpolicy/mta-sts.d.ts +12 -0
- package/dist/hints/emailpolicy/mta-sts.js +74 -0
- package/dist/hints/emailpolicy/mta-sts.js.map +1 -0
- package/dist/hints/emailpolicy/tls-rpt.d.ts +10 -0
- package/dist/hints/emailpolicy/tls-rpt.js +54 -0
- package/dist/hints/emailpolicy/tls-rpt.js.map +1 -0
- package/dist/hints/exposure/exposed-backup-files.d.ts +12 -0
- package/dist/hints/exposure/exposed-backup-files.js +34 -0
- package/dist/hints/exposure/exposed-backup-files.js.map +1 -0
- package/dist/hints/exposure/exposed-crossdomain.d.ts +11 -0
- package/dist/hints/exposure/exposed-crossdomain.js +31 -0
- package/dist/hints/exposure/exposed-crossdomain.js.map +1 -0
- package/dist/hints/exposure/exposed-directory-listing.d.ts +12 -0
- package/dist/hints/exposure/exposed-directory-listing.js +40 -0
- package/dist/hints/exposure/exposed-directory-listing.js.map +1 -0
- package/dist/hints/exposure/exposed-ds-store.d.ts +10 -0
- package/dist/hints/exposure/exposed-ds-store.js +30 -0
- package/dist/hints/exposure/exposed-ds-store.js.map +1 -0
- package/dist/hints/exposure/exposed-env.d.ts +10 -0
- package/dist/hints/exposure/exposed-env.js +30 -0
- package/dist/hints/exposure/exposed-env.js.map +1 -0
- package/dist/hints/exposure/exposed-git.d.ts +12 -0
- package/dist/hints/exposure/exposed-git.js +37 -0
- package/dist/hints/exposure/exposed-git.js.map +1 -0
- package/dist/hints/exposure/exposed-server-status.d.ts +11 -0
- package/dist/hints/exposure/exposed-server-status.js +33 -0
- package/dist/hints/exposure/exposed-server-status.js.map +1 -0
- package/dist/hints/exposure/exposed-source-map.d.ts +11 -0
- package/dist/hints/exposure/exposed-source-map.js +63 -0
- package/dist/hints/exposure/exposed-source-map.js.map +1 -0
- package/dist/hints/exposure/exposed-svn.d.ts +12 -0
- package/dist/hints/exposure/exposed-svn.js +37 -0
- package/dist/hints/exposure/exposed-svn.js.map +1 -0
- package/dist/hints/exposure/index.d.ts +6 -0
- package/dist/hints/exposure/index.js +25 -0
- package/dist/hints/exposure/index.js.map +1 -0
- package/dist/hints/exposure/shared.d.ts +16 -0
- package/dist/hints/exposure/shared.js +30 -0
- package/dist/hints/exposure/shared.js.map +1 -0
- package/dist/hints/feeds/feed-discovery.d.ts +15 -0
- package/dist/hints/feeds/feed-discovery.js +71 -0
- package/dist/hints/feeds/feed-discovery.js.map +1 -0
- package/dist/hints/feeds/feed-valid.d.ts +16 -0
- package/dist/hints/feeds/feed-valid.js +54 -0
- package/dist/hints/feeds/feed-valid.js.map +1 -0
- package/dist/hints/feeds/index.d.ts +9 -0
- package/dist/hints/feeds/index.js +20 -0
- package/dist/hints/feeds/index.js.map +1 -0
- package/dist/hints/feeds/oembed-discovery.d.ts +14 -0
- package/dist/hints/feeds/oembed-discovery.js +67 -0
- package/dist/hints/feeds/oembed-discovery.js.map +1 -0
- package/dist/hints/feeds/opensearch-discovery.d.ts +14 -0
- package/dist/hints/feeds/opensearch-discovery.js +68 -0
- package/dist/hints/feeds/opensearch-discovery.js.map +1 -0
- package/dist/hints/feeds/opensearch-valid.d.ts +15 -0
- package/dist/hints/feeds/opensearch-valid.js +51 -0
- package/dist/hints/feeds/opensearch-valid.js.map +1 -0
- package/dist/hints/feeds/shared.d.ts +25 -0
- package/dist/hints/feeds/shared.js +49 -0
- package/dist/hints/feeds/shared.js.map +1 -0
- package/dist/hints/feeds/to-severity.d.ts +9 -0
- package/dist/hints/feeds/to-severity.js +18 -0
- package/dist/hints/feeds/to-severity.js.map +1 -0
- package/dist/hints/files/ai-txt.d.ts +6 -0
- package/dist/hints/files/ai-txt.js +29 -0
- package/dist/hints/files/ai-txt.js.map +1 -0
- package/dist/hints/files/index.d.ts +3 -0
- package/dist/hints/files/index.js +14 -0
- package/dist/hints/files/index.js.map +1 -0
- package/dist/hints/files/llms-full-txt.d.ts +6 -0
- package/dist/hints/files/llms-full-txt.js +29 -0
- package/dist/hints/files/llms-full-txt.js.map +1 -0
- package/dist/hints/files/llms-txt.d.ts +6 -0
- package/dist/hints/files/llms-txt.js +29 -0
- package/dist/hints/files/llms-txt.js.map +1 -0
- package/dist/hints/files/robots-txt.d.ts +6 -0
- package/dist/hints/files/robots-txt.js +29 -0
- package/dist/hints/files/robots-txt.js.map +1 -0
- package/dist/hints/files/security-txt.d.ts +9 -0
- package/dist/hints/files/security-txt.js +50 -0
- package/dist/hints/files/security-txt.js.map +1 -0
- package/dist/hints/files/shared.d.ts +22 -0
- package/dist/hints/files/shared.js +49 -0
- package/dist/hints/files/shared.js.map +1 -0
- package/dist/hints/geo/geo-content-extraction.d.ts +10 -0
- package/dist/hints/geo/geo-content-extraction.js +44 -0
- package/dist/hints/geo/geo-content-extraction.js.map +1 -0
- package/dist/hints/geo/geo-faq-schema.d.ts +9 -0
- package/dist/hints/geo/geo-faq-schema.js +46 -0
- package/dist/hints/geo/geo-faq-schema.js.map +1 -0
- package/dist/hints/geo/geo-organization-schema.d.ts +9 -0
- package/dist/hints/geo/geo-organization-schema.js +70 -0
- package/dist/hints/geo/geo-organization-schema.js.map +1 -0
- package/dist/hints/geo/geo-speakable-schema.d.ts +9 -0
- package/dist/hints/geo/geo-speakable-schema.js +43 -0
- package/dist/hints/geo/geo-speakable-schema.js.map +1 -0
- package/dist/hints/geo/geo-structured-data-invalid.d.ts +7 -0
- package/dist/hints/geo/geo-structured-data-invalid.js +31 -0
- package/dist/hints/geo/geo-structured-data-invalid.js.map +1 -0
- package/dist/hints/geo/index.d.ts +3 -0
- package/dist/hints/geo/index.js +14 -0
- package/dist/hints/geo/index.js.map +1 -0
- package/dist/hints/headers/accept-ch.d.ts +8 -0
- package/dist/hints/headers/accept-ch.js +29 -0
- package/dist/hints/headers/accept-ch.js.map +1 -0
- package/dist/hints/headers/age.d.ts +6 -0
- package/dist/hints/headers/age.js +24 -0
- package/dist/hints/headers/age.js.map +1 -0
- package/dist/hints/headers/alt-svc.d.ts +8 -0
- package/dist/hints/headers/alt-svc.js +26 -0
- package/dist/hints/headers/alt-svc.js.map +1 -0
- package/dist/hints/headers/cache-control.d.ts +10 -0
- package/dist/hints/headers/cache-control.js +44 -0
- package/dist/hints/headers/cache-control.js.map +1 -0
- package/dist/hints/headers/clear-site-data.d.ts +11 -0
- package/dist/hints/headers/clear-site-data.js +58 -0
- package/dist/hints/headers/clear-site-data.js.map +1 -0
- package/dist/hints/headers/coep.d.ts +11 -0
- package/dist/hints/headers/coep.js +39 -0
- package/dist/hints/headers/coep.js.map +1 -0
- package/dist/hints/headers/cookies.d.ts +15 -0
- package/dist/hints/headers/cookies.js +39 -0
- package/dist/hints/headers/cookies.js.map +1 -0
- package/dist/hints/headers/coop.d.ts +11 -0
- package/dist/hints/headers/coop.js +39 -0
- package/dist/hints/headers/coop.js.map +1 -0
- package/dist/hints/headers/corp.d.ts +11 -0
- package/dist/hints/headers/corp.js +39 -0
- package/dist/hints/headers/corp.js.map +1 -0
- package/dist/hints/headers/cors-allow-credentials.d.ts +8 -0
- package/dist/hints/headers/cors-allow-credentials.js +27 -0
- package/dist/hints/headers/cors-allow-credentials.js.map +1 -0
- package/dist/hints/headers/cors-allow-headers.d.ts +7 -0
- package/dist/hints/headers/cors-allow-headers.js +28 -0
- package/dist/hints/headers/cors-allow-headers.js.map +1 -0
- package/dist/hints/headers/cors-allow-methods.d.ts +7 -0
- package/dist/hints/headers/cors-allow-methods.js +28 -0
- package/dist/hints/headers/cors-allow-methods.js.map +1 -0
- package/dist/hints/headers/cors-expose-headers.d.ts +7 -0
- package/dist/hints/headers/cors-expose-headers.js +28 -0
- package/dist/hints/headers/cors-expose-headers.js.map +1 -0
- package/dist/hints/headers/cors-max-age.d.ts +7 -0
- package/dist/hints/headers/cors-max-age.js +28 -0
- package/dist/hints/headers/cors-max-age.js.map +1 -0
- package/dist/hints/headers/cors.d.ts +13 -0
- package/dist/hints/headers/cors.js +40 -0
- package/dist/hints/headers/cors.js.map +1 -0
- package/dist/hints/headers/critical-ch.d.ts +7 -0
- package/dist/hints/headers/critical-ch.js +29 -0
- package/dist/hints/headers/critical-ch.js.map +1 -0
- package/dist/hints/headers/csp-reporting.d.ts +11 -0
- package/dist/hints/headers/csp-reporting.js +52 -0
- package/dist/hints/headers/csp-reporting.js.map +1 -0
- package/dist/hints/headers/csp.d.ts +19 -0
- package/dist/hints/headers/csp.js +62 -0
- package/dist/hints/headers/csp.js.map +1 -0
- package/dist/hints/headers/etag.d.ts +8 -0
- package/dist/hints/headers/etag.js +26 -0
- package/dist/hints/headers/etag.js.map +1 -0
- package/dist/hints/headers/expect-ct.d.ts +6 -0
- package/dist/hints/headers/expect-ct.js +24 -0
- package/dist/hints/headers/expect-ct.js.map +1 -0
- package/dist/hints/headers/expires.d.ts +7 -0
- package/dist/hints/headers/expires.js +30 -0
- package/dist/hints/headers/expires.js.map +1 -0
- package/dist/hints/headers/feature-policy.d.ts +6 -0
- package/dist/hints/headers/feature-policy.js +24 -0
- package/dist/hints/headers/feature-policy.js.map +1 -0
- package/dist/hints/headers/hsts.d.ts +2 -0
- package/dist/hints/headers/hsts.js +74 -0
- package/dist/hints/headers/hsts.js.map +1 -0
- package/dist/hints/headers/index.d.ts +6 -0
- package/dist/hints/headers/index.js +102 -0
- package/dist/hints/headers/index.js.map +1 -0
- package/dist/hints/headers/integrity-policy-report-only.d.ts +8 -0
- package/dist/hints/headers/integrity-policy-report-only.js +26 -0
- package/dist/hints/headers/integrity-policy-report-only.js.map +1 -0
- package/dist/hints/headers/integrity-policy.d.ts +8 -0
- package/dist/hints/headers/integrity-policy.js +29 -0
- package/dist/hints/headers/integrity-policy.js.map +1 -0
- package/dist/hints/headers/last-modified.d.ts +6 -0
- package/dist/hints/headers/last-modified.js +27 -0
- package/dist/hints/headers/last-modified.js.map +1 -0
- package/dist/hints/headers/nel.d.ts +8 -0
- package/dist/hints/headers/nel.js +26 -0
- package/dist/hints/headers/nel.js.map +1 -0
- package/dist/hints/headers/no-vary-search.d.ts +7 -0
- package/dist/hints/headers/no-vary-search.js +28 -0
- package/dist/hints/headers/no-vary-search.js.map +1 -0
- package/dist/hints/headers/origin-agent-cluster.d.ts +7 -0
- package/dist/hints/headers/origin-agent-cluster.js +29 -0
- package/dist/hints/headers/origin-agent-cluster.js.map +1 -0
- package/dist/hints/headers/permissions-policy.d.ts +11 -0
- package/dist/hints/headers/permissions-policy.js +33 -0
- package/dist/hints/headers/permissions-policy.js.map +1 -0
- package/dist/hints/headers/public-key-pins.d.ts +6 -0
- package/dist/hints/headers/public-key-pins.js +24 -0
- package/dist/hints/headers/public-key-pins.js.map +1 -0
- package/dist/hints/headers/redirection.d.ts +15 -0
- package/dist/hints/headers/redirection.js +38 -0
- package/dist/hints/headers/redirection.js.map +1 -0
- package/dist/hints/headers/referrer-policy.d.ts +18 -0
- package/dist/hints/headers/referrer-policy.js +58 -0
- package/dist/hints/headers/referrer-policy.js.map +1 -0
- package/dist/hints/headers/reporting-endpoints.d.ts +8 -0
- package/dist/hints/headers/reporting-endpoints.js +29 -0
- package/dist/hints/headers/reporting-endpoints.js.map +1 -0
- package/dist/hints/headers/retry-after.d.ts +8 -0
- package/dist/hints/headers/retry-after.js +29 -0
- package/dist/hints/headers/retry-after.js.map +1 -0
- package/dist/hints/headers/server-banner.d.ts +8 -0
- package/dist/hints/headers/server-banner.js +29 -0
- package/dist/hints/headers/server-banner.js.map +1 -0
- package/dist/hints/headers/server-timing.d.ts +7 -0
- package/dist/hints/headers/server-timing.js +28 -0
- package/dist/hints/headers/server-timing.js.map +1 -0
- package/dist/hints/headers/shared.d.ts +37 -0
- package/dist/hints/headers/shared.js +61 -0
- package/dist/hints/headers/shared.js.map +1 -0
- package/dist/hints/headers/sourcemap.d.ts +7 -0
- package/dist/hints/headers/sourcemap.js +29 -0
- package/dist/hints/headers/sourcemap.js.map +1 -0
- package/dist/hints/headers/timing-allow-origin.d.ts +8 -0
- package/dist/hints/headers/timing-allow-origin.js +29 -0
- package/dist/hints/headers/timing-allow-origin.js.map +1 -0
- package/dist/hints/headers/vary.d.ts +8 -0
- package/dist/hints/headers/vary.js +26 -0
- package/dist/hints/headers/vary.js.map +1 -0
- package/dist/hints/headers/via.d.ts +7 -0
- package/dist/hints/headers/via.js +25 -0
- package/dist/hints/headers/via.js.map +1 -0
- package/dist/hints/headers/x-content-type-options.d.ts +8 -0
- package/dist/hints/headers/x-content-type-options.js +26 -0
- package/dist/hints/headers/x-content-type-options.js.map +1 -0
- package/dist/hints/headers/x-dns-prefetch-control.d.ts +6 -0
- package/dist/hints/headers/x-dns-prefetch-control.js +35 -0
- package/dist/hints/headers/x-dns-prefetch-control.js.map +1 -0
- package/dist/hints/headers/x-frame-options.d.ts +15 -0
- package/dist/hints/headers/x-frame-options.js +45 -0
- package/dist/hints/headers/x-frame-options.js.map +1 -0
- package/dist/hints/headers/x-permitted-cross-domain-policies.d.ts +7 -0
- package/dist/hints/headers/x-permitted-cross-domain-policies.js +31 -0
- package/dist/hints/headers/x-permitted-cross-domain-policies.js.map +1 -0
- package/dist/hints/headers/x-powered-by.d.ts +7 -0
- package/dist/hints/headers/x-powered-by.js +28 -0
- package/dist/hints/headers/x-powered-by.js.map +1 -0
- package/dist/hints/headers/x-xss-protection.d.ts +13 -0
- package/dist/hints/headers/x-xss-protection.js +40 -0
- package/dist/hints/headers/x-xss-protection.js.map +1 -0
- package/dist/hints/headersx/accept-patch.d.ts +7 -0
- package/dist/hints/headersx/accept-patch.js +28 -0
- package/dist/hints/headersx/accept-patch.js.map +1 -0
- package/dist/hints/headersx/accept-post.d.ts +7 -0
- package/dist/hints/headersx/accept-post.js +28 -0
- package/dist/hints/headersx/accept-post.js.map +1 -0
- package/dist/hints/headersx/attribution-reporting.d.ts +9 -0
- package/dist/hints/headersx/attribution-reporting.js +28 -0
- package/dist/hints/headersx/attribution-reporting.js.map +1 -0
- package/dist/hints/headersx/content-digest.d.ts +8 -0
- package/dist/hints/headersx/content-digest.js +29 -0
- package/dist/hints/headersx/content-digest.js.map +1 -0
- package/dist/hints/headersx/index.d.ts +8 -0
- package/dist/hints/headersx/index.js +38 -0
- package/dist/hints/headersx/index.js.map +1 -0
- package/dist/hints/headersx/observe-browsing-topics.d.ts +8 -0
- package/dist/hints/headersx/observe-browsing-topics.js +29 -0
- package/dist/hints/headersx/observe-browsing-topics.js.map +1 -0
- package/dist/hints/headersx/repr-digest.d.ts +8 -0
- package/dist/hints/headersx/repr-digest.js +29 -0
- package/dist/hints/headersx/repr-digest.js.map +1 -0
- package/dist/hints/headersx/service-worker-allowed.d.ts +8 -0
- package/dist/hints/headersx/service-worker-allowed.js +29 -0
- package/dist/hints/headersx/service-worker-allowed.js.map +1 -0
- package/dist/hints/headersx/set-login.d.ts +7 -0
- package/dist/hints/headersx/set-login.js +28 -0
- package/dist/hints/headersx/set-login.js.map +1 -0
- package/dist/hints/headersx/speculation-rules.d.ts +8 -0
- package/dist/hints/headersx/speculation-rules.js +29 -0
- package/dist/hints/headersx/speculation-rules.js.map +1 -0
- package/dist/hints/headersx/supports-loading-mode.d.ts +7 -0
- package/dist/hints/headersx/supports-loading-mode.js +28 -0
- package/dist/hints/headersx/supports-loading-mode.js.map +1 -0
- package/dist/hints/headersx/use-as-dictionary.d.ts +8 -0
- package/dist/hints/headersx/use-as-dictionary.js +29 -0
- package/dist/hints/headersx/use-as-dictionary.js.map +1 -0
- package/dist/hints/i18n/alternate-media.d.ts +11 -0
- package/dist/hints/i18n/alternate-media.js +38 -0
- package/dist/hints/i18n/alternate-media.js.map +1 -0
- package/dist/hints/i18n/hreflang-duplicate.d.ts +12 -0
- package/dist/hints/i18n/hreflang-duplicate.js +46 -0
- package/dist/hints/i18n/hreflang-duplicate.js.map +1 -0
- package/dist/hints/i18n/hreflang-return.d.ts +12 -0
- package/dist/hints/i18n/hreflang-return.js +41 -0
- package/dist/hints/i18n/hreflang-return.js.map +1 -0
- package/dist/hints/i18n/hreflang-self.d.ts +11 -0
- package/dist/hints/i18n/hreflang-self.js +34 -0
- package/dist/hints/i18n/hreflang-self.js.map +1 -0
- package/dist/hints/i18n/hreflang-valid-codes.d.ts +11 -0
- package/dist/hints/i18n/hreflang-valid-codes.js +38 -0
- package/dist/hints/i18n/hreflang-valid-codes.js.map +1 -0
- package/dist/hints/i18n/hreflang-x-default.d.ts +11 -0
- package/dist/hints/i18n/hreflang-x-default.js +36 -0
- package/dist/hints/i18n/hreflang-x-default.js.map +1 -0
- package/dist/hints/i18n/index.d.ts +3 -0
- package/dist/hints/i18n/index.js +18 -0
- package/dist/hints/i18n/index.js.map +1 -0
- package/dist/hints/i18n/pagination-rel.d.ts +11 -0
- package/dist/hints/i18n/pagination-rel.js +38 -0
- package/dist/hints/i18n/pagination-rel.js.map +1 -0
- package/dist/hints/i18n/to-severity.d.ts +9 -0
- package/dist/hints/i18n/to-severity.js +18 -0
- package/dist/hints/i18n/to-severity.js.map +1 -0
- package/dist/hints/index.d.ts +3 -0
- package/dist/hints/index.js +46 -0
- package/dist/hints/index.js.map +1 -0
- package/dist/hints/network/caa.d.ts +15 -0
- package/dist/hints/network/caa.js +55 -0
- package/dist/hints/network/caa.js.map +1 -0
- package/dist/hints/network/dane-exists.d.ts +8 -0
- package/dist/hints/network/dane-exists.js +41 -0
- package/dist/hints/network/dane-exists.js.map +1 -0
- package/dist/hints/network/dane-rollover.d.ts +12 -0
- package/dist/hints/network/dane-rollover.js +42 -0
- package/dist/hints/network/dane-rollover.js.map +1 -0
- package/dist/hints/network/dane-valid.d.ts +7 -0
- package/dist/hints/network/dane-valid.js +39 -0
- package/dist/hints/network/dane-valid.js.map +1 -0
- package/dist/hints/network/dnssec-exists.d.ts +7 -0
- package/dist/hints/network/dnssec-exists.js +47 -0
- package/dist/hints/network/dnssec-exists.js.map +1 -0
- package/dist/hints/network/dnssec-valid.d.ts +9 -0
- package/dist/hints/network/dnssec-valid.js +35 -0
- package/dist/hints/network/dnssec-valid.js.map +1 -0
- package/dist/hints/network/index.d.ts +3 -0
- package/dist/hints/network/index.js +36 -0
- package/dist/hints/network/index.js.map +1 -0
- package/dist/hints/network/internetnl-http-compression.d.ts +11 -0
- package/dist/hints/network/internetnl-http-compression.js +35 -0
- package/dist/hints/network/internetnl-http-compression.js.map +1 -0
- package/dist/hints/network/ipv6-ns-aaaa.d.ts +8 -0
- package/dist/hints/network/ipv6-ns-aaaa.js +40 -0
- package/dist/hints/network/ipv6-ns-aaaa.js.map +1 -0
- package/dist/hints/network/ipv6-ns-reach.d.ts +7 -0
- package/dist/hints/network/ipv6-ns-reach.js +40 -0
- package/dist/hints/network/ipv6-ns-reach.js.map +1 -0
- package/dist/hints/network/ipv6-same-content.d.ts +9 -0
- package/dist/hints/network/ipv6-same-content.js +42 -0
- package/dist/hints/network/ipv6-same-content.js.map +1 -0
- package/dist/hints/network/ipv6-web-aaaa.d.ts +7 -0
- package/dist/hints/network/ipv6-web-aaaa.js +32 -0
- package/dist/hints/network/ipv6-web-aaaa.js.map +1 -0
- package/dist/hints/network/ipv6-web-reach.d.ts +7 -0
- package/dist/hints/network/ipv6-web-reach.js +37 -0
- package/dist/hints/network/ipv6-web-reach.js.map +1 -0
- package/dist/hints/network/rpki-ns-exists.d.ts +8 -0
- package/dist/hints/network/rpki-ns-exists.js +32 -0
- package/dist/hints/network/rpki-ns-exists.js.map +1 -0
- package/dist/hints/network/rpki-ns-valid.d.ts +8 -0
- package/dist/hints/network/rpki-ns-valid.js +35 -0
- package/dist/hints/network/rpki-ns-valid.js.map +1 -0
- package/dist/hints/network/rpki-web-exists.d.ts +8 -0
- package/dist/hints/network/rpki-web-exists.js +32 -0
- package/dist/hints/network/rpki-web-exists.js.map +1 -0
- package/dist/hints/network/rpki-web-valid.d.ts +8 -0
- package/dist/hints/network/rpki-web-valid.js +35 -0
- package/dist/hints/network/rpki-web-valid.js.map +1 -0
- package/dist/hints/opengraph/index.d.ts +3 -0
- package/dist/hints/opengraph/index.js +64 -0
- package/dist/hints/opengraph/index.js.map +1 -0
- package/dist/hints/opengraph/opengraph-description-could-be-longer.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-description-could-be-longer.js +16 -0
- package/dist/hints/opengraph/opengraph-description-could-be-longer.js.map +1 -0
- package/dist/hints/opengraph/opengraph-description-is-url.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-description-is-url.js +16 -0
- package/dist/hints/opengraph/opengraph-description-is-url.js.map +1 -0
- package/dist/hints/opengraph/opengraph-description-keyword-stuffing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-description-keyword-stuffing.js +16 -0
- package/dist/hints/opengraph/opengraph-description-keyword-stuffing.js.map +1 -0
- package/dist/hints/opengraph/opengraph-description-missing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-description-missing.js +16 -0
- package/dist/hints/opengraph/opengraph-description-missing.js.map +1 -0
- package/dist/hints/opengraph/opengraph-description-same-as-title.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-description-same-as-title.js +16 -0
- package/dist/hints/opengraph/opengraph-description-same-as-title.js.map +1 -0
- package/dist/hints/opengraph/opengraph-description-slightly-long.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-description-slightly-long.js +16 -0
- package/dist/hints/opengraph/opengraph-description-slightly-long.js.map +1 -0
- package/dist/hints/opengraph/opengraph-description-too-long.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-description-too-long.js +16 -0
- package/dist/hints/opengraph/opengraph-description-too-long.js.map +1 -0
- package/dist/hints/opengraph/opengraph-description-too-short.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-description-too-short.js +16 -0
- package/dist/hints/opengraph/opengraph-description-too-short.js.map +1 -0
- package/dist/hints/opengraph/opengraph-image-alt-missing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-image-alt-missing.js +18 -0
- package/dist/hints/opengraph/opengraph-image-alt-missing.js.map +1 -0
- package/dist/hints/opengraph/opengraph-image-broken.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-image-broken.js +16 -0
- package/dist/hints/opengraph/opengraph-image-broken.js.map +1 -0
- package/dist/hints/opengraph/opengraph-image-dimensions-missing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-image-dimensions-missing.js +15 -0
- package/dist/hints/opengraph/opengraph-image-dimensions-missing.js.map +1 -0
- package/dist/hints/opengraph/opengraph-image-dimensions-too-large.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-image-dimensions-too-large.js +18 -0
- package/dist/hints/opengraph/opengraph-image-dimensions-too-large.js.map +1 -0
- package/dist/hints/opengraph/opengraph-image-missing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-image-missing.js +16 -0
- package/dist/hints/opengraph/opengraph-image-missing.js.map +1 -0
- package/dist/hints/opengraph/opengraph-image-non-optimal-size.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-image-non-optimal-size.js +16 -0
- package/dist/hints/opengraph/opengraph-image-non-optimal-size.js.map +1 -0
- package/dist/hints/opengraph/opengraph-image-not-https.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-image-not-https.js +18 -0
- package/dist/hints/opengraph/opengraph-image-not-https.js.map +1 -0
- package/dist/hints/opengraph/opengraph-image-too-large.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-image-too-large.js +18 -0
- package/dist/hints/opengraph/opengraph-image-too-large.js.map +1 -0
- package/dist/hints/opengraph/opengraph-image-too-small.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-image-too-small.js +16 -0
- package/dist/hints/opengraph/opengraph-image-too-small.js.map +1 -0
- package/dist/hints/opengraph/opengraph-locale-missing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-locale-missing.js +15 -0
- package/dist/hints/opengraph/opengraph-locale-missing.js.map +1 -0
- package/dist/hints/opengraph/opengraph-site-name-missing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-site-name-missing.js +15 -0
- package/dist/hints/opengraph/opengraph-site-name-missing.js.map +1 -0
- package/dist/hints/opengraph/opengraph-title-missing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-title-missing.js +16 -0
- package/dist/hints/opengraph/opengraph-title-missing.js.map +1 -0
- package/dist/hints/opengraph/opengraph-title-too-long.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-title-too-long.js +16 -0
- package/dist/hints/opengraph/opengraph-title-too-long.js.map +1 -0
- package/dist/hints/opengraph/opengraph-title-too-short.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-title-too-short.js +16 -0
- package/dist/hints/opengraph/opengraph-title-too-short.js.map +1 -0
- package/dist/hints/opengraph/opengraph-type-missing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-type-missing.js +15 -0
- package/dist/hints/opengraph/opengraph-type-missing.js.map +1 -0
- package/dist/hints/opengraph/opengraph-url-missing.d.ts +6 -0
- package/dist/hints/opengraph/opengraph-url-missing.js +16 -0
- package/dist/hints/opengraph/opengraph-url-missing.js.map +1 -0
- package/dist/hints/opengraph/twitter-card-missing.d.ts +6 -0
- package/dist/hints/opengraph/twitter-card-missing.js +16 -0
- package/dist/hints/opengraph/twitter-card-missing.js.map +1 -0
- package/dist/hints/opengraph/twitter-card-not-large.d.ts +6 -0
- package/dist/hints/opengraph/twitter-card-not-large.js +15 -0
- package/dist/hints/opengraph/twitter-card-not-large.js.map +1 -0
- package/dist/hints/opengraph/twitter-description-missing.d.ts +6 -0
- package/dist/hints/opengraph/twitter-description-missing.js +15 -0
- package/dist/hints/opengraph/twitter-description-missing.js.map +1 -0
- package/dist/hints/opengraph/twitter-image-missing.d.ts +6 -0
- package/dist/hints/opengraph/twitter-image-missing.js +15 -0
- package/dist/hints/opengraph/twitter-image-missing.js.map +1 -0
- package/dist/hints/opengraph/twitter-site-missing.d.ts +6 -0
- package/dist/hints/opengraph/twitter-site-missing.js +15 -0
- package/dist/hints/opengraph/twitter-site-missing.js.map +1 -0
- package/dist/hints/opengraph/twitter-title-missing.d.ts +6 -0
- package/dist/hints/opengraph/twitter-title-missing.js +15 -0
- package/dist/hints/opengraph/twitter-title-missing.js.map +1 -0
- package/dist/hints/privacy/collect.d.ts +40 -0
- package/dist/hints/privacy/collect.js +88 -0
- package/dist/hints/privacy/collect.js.map +1 -0
- package/dist/hints/privacy/index.d.ts +3 -0
- package/dist/hints/privacy/index.js +20 -0
- package/dist/hints/privacy/index.js.map +1 -0
- package/dist/hints/privacy/privacy-cookies.d.ts +14 -0
- package/dist/hints/privacy/privacy-cookies.js +80 -0
- package/dist/hints/privacy/privacy-cookies.js.map +1 -0
- package/dist/hints/privacy/privacy-geolocation.d.ts +13 -0
- package/dist/hints/privacy/privacy-geolocation.js +65 -0
- package/dist/hints/privacy/privacy-geolocation.js.map +1 -0
- package/dist/hints/privacy/privacy-insecure-first-party.d.ts +9 -0
- package/dist/hints/privacy/privacy-insecure-first-party.js +32 -0
- package/dist/hints/privacy/privacy-insecure-first-party.js.map +1 -0
- package/dist/hints/privacy/privacy-local-storage.d.ts +9 -0
- package/dist/hints/privacy/privacy-local-storage.js +44 -0
- package/dist/hints/privacy/privacy-local-storage.js.map +1 -0
- package/dist/hints/privacy/privacy-mixed-content.d.ts +10 -0
- package/dist/hints/privacy/privacy-mixed-content.js +42 -0
- package/dist/hints/privacy/privacy-mixed-content.js.map +1 -0
- package/dist/hints/privacy/privacy-policy-link-missing.d.ts +14 -0
- package/dist/hints/privacy/privacy-policy-link-missing.js +38 -0
- package/dist/hints/privacy/privacy-policy-link-missing.js.map +1 -0
- package/dist/hints/privacy/privacy-third-party-requests.d.ts +10 -0
- package/dist/hints/privacy/privacy-third-party-requests.js +52 -0
- package/dist/hints/privacy/privacy-third-party-requests.js.map +1 -0
- package/dist/hints/privacy/terms-of-service-link-missing.d.ts +14 -0
- package/dist/hints/privacy/terms-of-service-link-missing.js +38 -0
- package/dist/hints/privacy/terms-of-service-link-missing.js.map +1 -0
- package/dist/hints/pwa/fetch-manifest.d.ts +18 -0
- package/dist/hints/pwa/fetch-manifest.js +32 -0
- package/dist/hints/pwa/fetch-manifest.js.map +1 -0
- package/dist/hints/pwa/index.d.ts +14 -0
- package/dist/hints/pwa/index.js +23 -0
- package/dist/hints/pwa/index.js.map +1 -0
- package/dist/hints/pwa/manifest-icons.d.ts +14 -0
- package/dist/hints/pwa/manifest-icons.js +45 -0
- package/dist/hints/pwa/manifest-icons.js.map +1 -0
- package/dist/hints/pwa/manifest-linked.d.ts +15 -0
- package/dist/hints/pwa/manifest-linked.js +46 -0
- package/dist/hints/pwa/manifest-linked.js.map +1 -0
- package/dist/hints/pwa/manifest-valid.d.ts +17 -0
- package/dist/hints/pwa/manifest-valid.js +48 -0
- package/dist/hints/pwa/manifest-valid.js.map +1 -0
- package/dist/hints/pwa/theme-color-meta.d.ts +15 -0
- package/dist/hints/pwa/theme-color-meta.js +40 -0
- package/dist/hints/pwa/theme-color-meta.js.map +1 -0
- package/dist/hints/pwa/to-severity.d.ts +9 -0
- package/dist/hints/pwa/to-severity.js +18 -0
- package/dist/hints/pwa/to-severity.js.map +1 -0
- package/dist/hints/richresults/index.d.ts +3 -0
- package/dist/hints/richresults/index.js +24 -0
- package/dist/hints/richresults/index.js.map +1 -0
- package/dist/hints/richresults/report.d.ts +14 -0
- package/dist/hints/richresults/report.js +34 -0
- package/dist/hints/richresults/report.js.map +1 -0
- package/dist/hints/richresults/richresults-article.d.ts +10 -0
- package/dist/hints/richresults/richresults-article.js +24 -0
- package/dist/hints/richresults/richresults-article.js.map +1 -0
- package/dist/hints/richresults/richresults-breadcrumb.d.ts +9 -0
- package/dist/hints/richresults/richresults-breadcrumb.js +23 -0
- package/dist/hints/richresults/richresults-breadcrumb.js.map +1 -0
- package/dist/hints/richresults/richresults-event.d.ts +8 -0
- package/dist/hints/richresults/richresults-event.js +22 -0
- package/dist/hints/richresults/richresults-event.js.map +1 -0
- package/dist/hints/richresults/richresults-jobposting.d.ts +11 -0
- package/dist/hints/richresults/richresults-jobposting.js +25 -0
- package/dist/hints/richresults/richresults-jobposting.js.map +1 -0
- package/dist/hints/richresults/richresults-localbusiness.d.ts +9 -0
- package/dist/hints/richresults/richresults-localbusiness.js +23 -0
- package/dist/hints/richresults/richresults-localbusiness.js.map +1 -0
- package/dist/hints/richresults/richresults-product.d.ts +11 -0
- package/dist/hints/richresults/richresults-product.js +25 -0
- package/dist/hints/richresults/richresults-product.js.map +1 -0
- package/dist/hints/richresults/richresults-recipe.d.ts +9 -0
- package/dist/hints/richresults/richresults-recipe.js +23 -0
- package/dist/hints/richresults/richresults-recipe.js.map +1 -0
- package/dist/hints/richresults/richresults-review.d.ts +10 -0
- package/dist/hints/richresults/richresults-review.js +24 -0
- package/dist/hints/richresults/richresults-review.js.map +1 -0
- package/dist/hints/richresults/richresults-video.d.ts +8 -0
- package/dist/hints/richresults/richresults-video.js +22 -0
- package/dist/hints/richresults/richresults-video.js.map +1 -0
- package/dist/hints/richresults/richresults-website-searchaction.d.ts +9 -0
- package/dist/hints/richresults/richresults-website-searchaction.js +23 -0
- package/dist/hints/richresults/richresults-website-searchaction.js.map +1 -0
- package/dist/hints/secplus/cookie-prefixes.d.ts +15 -0
- package/dist/hints/secplus/cookie-prefixes.js +36 -0
- package/dist/hints/secplus/cookie-prefixes.js.map +1 -0
- package/dist/hints/secplus/csp-strength.d.ts +18 -0
- package/dist/hints/secplus/csp-strength.js +45 -0
- package/dist/hints/secplus/csp-strength.js.map +1 -0
- package/dist/hints/secplus/form-action-secure.d.ts +13 -0
- package/dist/hints/secplus/form-action-secure.js +36 -0
- package/dist/hints/secplus/form-action-secure.js.map +1 -0
- package/dist/hints/secplus/http-methods.d.ts +29 -0
- package/dist/hints/secplus/http-methods.js +61 -0
- package/dist/hints/secplus/http-methods.js.map +1 -0
- package/dist/hints/secplus/index.d.ts +7 -0
- package/dist/hints/secplus/index.js +18 -0
- package/dist/hints/secplus/index.js.map +1 -0
- package/dist/hints/secplus/shared.d.ts +9 -0
- package/dist/hints/secplus/shared.js +31 -0
- package/dist/hints/secplus/shared.js.map +1 -0
- package/dist/hints/secplus/tabnabbing.d.ts +14 -0
- package/dist/hints/secplus/tabnabbing.js +43 -0
- package/dist/hints/secplus/tabnabbing.js.map +1 -0
- package/dist/hints/seo/icons-apple-touch-icon-missing.d.ts +6 -0
- package/dist/hints/seo/icons-apple-touch-icon-missing.js +28 -0
- package/dist/hints/seo/icons-apple-touch-icon-missing.js.map +1 -0
- package/dist/hints/seo/icons-favicon-32-missing.d.ts +11 -0
- package/dist/hints/seo/icons-favicon-32-missing.js +45 -0
- package/dist/hints/seo/icons-favicon-32-missing.js.map +1 -0
- package/dist/hints/seo/icons-favicon-ico-or-png-missing.d.ts +12 -0
- package/dist/hints/seo/icons-favicon-ico-or-png-missing.js +51 -0
- package/dist/hints/seo/icons-favicon-ico-or-png-missing.js.map +1 -0
- package/dist/hints/seo/icons-favicon-missing.d.ts +12 -0
- package/dist/hints/seo/icons-favicon-missing.js +51 -0
- package/dist/hints/seo/icons-favicon-missing.js.map +1 -0
- package/dist/hints/seo/icons-favicon-svg-missing.d.ts +11 -0
- package/dist/hints/seo/icons-favicon-svg-missing.js +45 -0
- package/dist/hints/seo/icons-favicon-svg-missing.js.map +1 -0
- package/dist/hints/seo/index.d.ts +3 -0
- package/dist/hints/seo/index.js +62 -0
- package/dist/hints/seo/index.js.map +1 -0
- package/dist/hints/seo/report-findings.d.ts +8 -0
- package/dist/hints/seo/report-findings.js +14 -0
- package/dist/hints/seo/report-findings.js.map +1 -0
- package/dist/hints/seo/seo-canonical-mismatch.d.ts +10 -0
- package/dist/hints/seo/seo-canonical-mismatch.js +33 -0
- package/dist/hints/seo/seo-canonical-mismatch.js.map +1 -0
- package/dist/hints/seo/seo-canonical-missing.d.ts +10 -0
- package/dist/hints/seo/seo-canonical-missing.js +35 -0
- package/dist/hints/seo/seo-canonical-missing.js.map +1 -0
- package/dist/hints/seo/seo-content-length.d.ts +8 -0
- package/dist/hints/seo/seo-content-length.js +27 -0
- package/dist/hints/seo/seo-content-length.js.map +1 -0
- package/dist/hints/seo/seo-deprecated-html.d.ts +7 -0
- package/dist/hints/seo/seo-deprecated-html.js +29 -0
- package/dist/hints/seo/seo-deprecated-html.js.map +1 -0
- package/dist/hints/seo/seo-h1-missing.d.ts +10 -0
- package/dist/hints/seo/seo-h1-missing.js +35 -0
- package/dist/hints/seo/seo-h1-missing.js.map +1 -0
- package/dist/hints/seo/seo-h1-multiple.d.ts +10 -0
- package/dist/hints/seo/seo-h1-multiple.js +34 -0
- package/dist/hints/seo/seo-h1-multiple.js.map +1 -0
- package/dist/hints/seo/seo-html-lang-missing.d.ts +10 -0
- package/dist/hints/seo/seo-html-lang-missing.js +35 -0
- package/dist/hints/seo/seo-html-lang-missing.js.map +1 -0
- package/dist/hints/seo/seo-http-status.d.ts +6 -0
- package/dist/hints/seo/seo-http-status.js +24 -0
- package/dist/hints/seo/seo-http-status.js.map +1 -0
- package/dist/hints/seo/seo-keywords-frequent.d.ts +7 -0
- package/dist/hints/seo/seo-keywords-frequent.js +23 -0
- package/dist/hints/seo/seo-keywords-frequent.js.map +1 -0
- package/dist/hints/seo/seo-keywords-in-title.d.ts +7 -0
- package/dist/hints/seo/seo-keywords-in-title.js +25 -0
- package/dist/hints/seo/seo-keywords-in-title.js.map +1 -0
- package/dist/hints/seo/seo-link-anchor-text.d.ts +7 -0
- package/dist/hints/seo/seo-link-anchor-text.js +38 -0
- package/dist/hints/seo/seo-link-anchor-text.js.map +1 -0
- package/dist/hints/seo/seo-links.d.ts +7 -0
- package/dist/hints/seo/seo-links.js +28 -0
- package/dist/hints/seo/seo-links.js.map +1 -0
- package/dist/hints/seo/seo-meta-description-missing.d.ts +10 -0
- package/dist/hints/seo/seo-meta-description-missing.js +35 -0
- package/dist/hints/seo/seo-meta-description-missing.js.map +1 -0
- package/dist/hints/seo/seo-meta-description-too-long.d.ts +10 -0
- package/dist/hints/seo/seo-meta-description-too-long.js +33 -0
- package/dist/hints/seo/seo-meta-description-too-long.js.map +1 -0
- package/dist/hints/seo/seo-meta-description-too-short.d.ts +10 -0
- package/dist/hints/seo/seo-meta-description-too-short.js +33 -0
- package/dist/hints/seo/seo-meta-description-too-short.js.map +1 -0
- package/dist/hints/seo/seo-responsive-images.d.ts +6 -0
- package/dist/hints/seo/seo-responsive-images.js +28 -0
- package/dist/hints/seo/seo-responsive-images.js.map +1 -0
- package/dist/hints/seo/seo-robots-nofollow.d.ts +11 -0
- package/dist/hints/seo/seo-robots-nofollow.js +44 -0
- package/dist/hints/seo/seo-robots-nofollow.js.map +1 -0
- package/dist/hints/seo/seo-robots-noindex.d.ts +11 -0
- package/dist/hints/seo/seo-robots-noindex.js +44 -0
- package/dist/hints/seo/seo-robots-noindex.js.map +1 -0
- package/dist/hints/seo/seo-structured-data-missing.d.ts +10 -0
- package/dist/hints/seo/seo-structured-data-missing.js +42 -0
- package/dist/hints/seo/seo-structured-data-missing.js.map +1 -0
- package/dist/hints/seo/seo-title-missing.d.ts +11 -0
- package/dist/hints/seo/seo-title-missing.js +39 -0
- package/dist/hints/seo/seo-title-missing.js.map +1 -0
- package/dist/hints/seo/seo-title-too-long.d.ts +10 -0
- package/dist/hints/seo/seo-title-too-long.js +33 -0
- package/dist/hints/seo/seo-title-too-long.js.map +1 -0
- package/dist/hints/seo/seo-title-too-short.d.ts +10 -0
- package/dist/hints/seo/seo-title-too-short.js +33 -0
- package/dist/hints/seo/seo-title-too-short.js.map +1 -0
- package/dist/hints/seo/seo-url-friendly.d.ts +7 -0
- package/dist/hints/seo/seo-url-friendly.js +25 -0
- package/dist/hints/seo/seo-url-friendly.js.map +1 -0
- package/dist/hints/seo/seo-viewport.d.ts +7 -0
- package/dist/hints/seo/seo-viewport.js +29 -0
- package/dist/hints/seo/seo-viewport.js.map +1 -0
- package/dist/hints/seo/to-severity.d.ts +9 -0
- package/dist/hints/seo/to-severity.js +18 -0
- package/dist/hints/seo/to-severity.js.map +1 -0
- package/dist/hints/technical/index.d.ts +3 -0
- package/dist/hints/technical/index.js +28 -0
- package/dist/hints/technical/index.js.map +1 -0
- package/dist/hints/technical/technical-asset-count.d.ts +7 -0
- package/dist/hints/technical/technical-asset-count.js +29 -0
- package/dist/hints/technical/technical-asset-count.js.map +1 -0
- package/dist/hints/technical/technical-canonical-invalid.d.ts +5 -0
- package/dist/hints/technical/technical-canonical-invalid.js +28 -0
- package/dist/hints/technical/technical-canonical-invalid.js.map +1 -0
- package/dist/hints/technical/technical-heading-hierarchy.d.ts +5 -0
- package/dist/hints/technical/technical-heading-hierarchy.js +31 -0
- package/dist/hints/technical/technical-heading-hierarchy.js.map +1 -0
- package/dist/hints/technical/technical-html-size.d.ts +7 -0
- package/dist/hints/technical/technical-html-size.js +24 -0
- package/dist/hints/technical/technical-html-size.js.map +1 -0
- package/dist/hints/technical/technical-image-alt-coverage.d.ts +5 -0
- package/dist/hints/technical/technical-image-alt-coverage.js +29 -0
- package/dist/hints/technical/technical-image-alt-coverage.js.map +1 -0
- package/dist/hints/technical/technical-image-formats.d.ts +7 -0
- package/dist/hints/technical/technical-image-formats.js +40 -0
- package/dist/hints/technical/technical-image-formats.js.map +1 -0
- package/dist/hints/technical/technical-image-weight.d.ts +5 -0
- package/dist/hints/technical/technical-image-weight.js +51 -0
- package/dist/hints/technical/technical-image-weight.js.map +1 -0
- package/dist/hints/technical/technical-lazy-loading.d.ts +7 -0
- package/dist/hints/technical/technical-lazy-loading.js +33 -0
- package/dist/hints/technical/technical-lazy-loading.js.map +1 -0
- package/dist/hints/technical/technical-redirect-chain.d.ts +6 -0
- package/dist/hints/technical/technical-redirect-chain.js +32 -0
- package/dist/hints/technical/technical-redirect-chain.js.map +1 -0
- package/dist/hints/technical/technical-response-time.d.ts +8 -0
- package/dist/hints/technical/technical-response-time.js +45 -0
- package/dist/hints/technical/technical-response-time.js.map +1 -0
- package/dist/hints/technical/technical-robots-meta-advanced.d.ts +5 -0
- package/dist/hints/technical/technical-robots-meta-advanced.js +42 -0
- package/dist/hints/technical/technical-robots-meta-advanced.js.map +1 -0
- package/dist/hints/technical/technical-twitter-card-type.d.ts +5 -0
- package/dist/hints/technical/technical-twitter-card-type.js +28 -0
- package/dist/hints/technical/technical-twitter-card-type.js.map +1 -0
- package/dist/hints/tls/cert-hostname.d.ts +12 -0
- package/dist/hints/tls/cert-hostname.js +39 -0
- package/dist/hints/tls/cert-hostname.js.map +1 -0
- package/dist/hints/tls/cert-pubkey.d.ts +12 -0
- package/dist/hints/tls/cert-pubkey.js +59 -0
- package/dist/hints/tls/cert-pubkey.js.map +1 -0
- package/dist/hints/tls/cert-signature.d.ts +12 -0
- package/dist/hints/tls/cert-signature.js +58 -0
- package/dist/hints/tls/cert-signature.js.map +1 -0
- package/dist/hints/tls/cert-trust.d.ts +12 -0
- package/dist/hints/tls/cert-trust.js +37 -0
- package/dist/hints/tls/cert-trust.js.map +1 -0
- package/dist/hints/tls/https-available.d.ts +10 -0
- package/dist/hints/tls/https-available.js +27 -0
- package/dist/hints/tls/https-available.js.map +1 -0
- package/dist/hints/tls/index.d.ts +3 -0
- package/dist/hints/tls/index.js +36 -0
- package/dist/hints/tls/index.js.map +1 -0
- package/dist/hints/tls/on-tls-site.d.ts +37 -0
- package/dist/hints/tls/on-tls-site.js +36 -0
- package/dist/hints/tls/on-tls-site.js.map +1 -0
- package/dist/hints/tls/tls-cipher-order.d.ts +16 -0
- package/dist/hints/tls/tls-cipher-order.js +52 -0
- package/dist/hints/tls/tls-cipher-order.js.map +1 -0
- package/dist/hints/tls/tls-ciphers.d.ts +14 -0
- package/dist/hints/tls/tls-ciphers.js +55 -0
- package/dist/hints/tls/tls-ciphers.js.map +1 -0
- package/dist/hints/tls/tls-compression.d.ts +11 -0
- package/dist/hints/tls/tls-compression.js +47 -0
- package/dist/hints/tls/tls-compression.js.map +1 -0
- package/dist/hints/tls/tls-ems.d.ts +11 -0
- package/dist/hints/tls/tls-ems.js +44 -0
- package/dist/hints/tls/tls-ems.js.map +1 -0
- package/dist/hints/tls/tls-kex-hash.d.ts +16 -0
- package/dist/hints/tls/tls-kex-hash.js +62 -0
- package/dist/hints/tls/tls-kex-hash.js.map +1 -0
- package/dist/hints/tls/tls-kex-params.d.ts +18 -0
- package/dist/hints/tls/tls-kex-params.js +92 -0
- package/dist/hints/tls/tls-kex-params.js.map +1 -0
- package/dist/hints/tls/tls-ocsp-stapling.d.ts +13 -0
- package/dist/hints/tls/tls-ocsp-stapling.js +39 -0
- package/dist/hints/tls/tls-ocsp-stapling.js.map +1 -0
- package/dist/hints/tls/tls-renegotiation-client.d.ts +13 -0
- package/dist/hints/tls/tls-renegotiation-client.js +48 -0
- package/dist/hints/tls/tls-renegotiation-client.js.map +1 -0
- package/dist/hints/tls/tls-renegotiation-secure.d.ts +11 -0
- package/dist/hints/tls/tls-renegotiation-secure.js +44 -0
- package/dist/hints/tls/tls-renegotiation-secure.js.map +1 -0
- package/dist/hints/tls/tls-version.d.ts +14 -0
- package/dist/hints/tls/tls-version.js +41 -0
- package/dist/hints/tls/tls-version.js.map +1 -0
- package/dist/hints/tls/tls-zero-rtt.d.ts +11 -0
- package/dist/hints/tls/tls-zero-rtt.js +44 -0
- package/dist/hints/tls/tls-zero-rtt.js.map +1 -0
- package/dist/hints/wellknown/ads-txt.d.ts +10 -0
- package/dist/hints/wellknown/ads-txt.js +34 -0
- package/dist/hints/wellknown/ads-txt.js.map +1 -0
- package/dist/hints/wellknown/app-ads-txt.d.ts +8 -0
- package/dist/hints/wellknown/app-ads-txt.js +32 -0
- package/dist/hints/wellknown/app-ads-txt.js.map +1 -0
- package/dist/hints/wellknown/apple-app-site-association.d.ts +11 -0
- package/dist/hints/wellknown/apple-app-site-association.js +49 -0
- package/dist/hints/wellknown/apple-app-site-association.js.map +1 -0
- package/dist/hints/wellknown/assetlinks-json.d.ts +10 -0
- package/dist/hints/wellknown/assetlinks-json.js +34 -0
- package/dist/hints/wellknown/assetlinks-json.js.map +1 -0
- package/dist/hints/wellknown/change-password.d.ts +11 -0
- package/dist/hints/wellknown/change-password.js +44 -0
- package/dist/hints/wellknown/change-password.js.map +1 -0
- package/dist/hints/wellknown/gpc-json.d.ts +9 -0
- package/dist/hints/wellknown/gpc-json.js +33 -0
- package/dist/hints/wellknown/gpc-json.js.map +1 -0
- package/dist/hints/wellknown/humans-txt.d.ts +8 -0
- package/dist/hints/wellknown/humans-txt.js +32 -0
- package/dist/hints/wellknown/humans-txt.js.map +1 -0
- package/dist/hints/wellknown/index.d.ts +6 -0
- package/dist/hints/wellknown/index.js +23 -0
- package/dist/hints/wellknown/index.js.map +1 -0
- package/dist/hints/wellknown/sellers-json.d.ts +10 -0
- package/dist/hints/wellknown/sellers-json.js +34 -0
- package/dist/hints/wellknown/sellers-json.js.map +1 -0
- package/dist/hints/wellknown/shared.d.ts +25 -0
- package/dist/hints/wellknown/shared.js +53 -0
- package/dist/hints/wellknown/shared.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/agent/api-catalog.d.ts +7 -0
- package/dist/lib/agent/api-catalog.js +35 -0
- package/dist/lib/agent/api-catalog.js.map +1 -0
- package/dist/lib/agent/ard.d.ts +23 -0
- package/dist/lib/agent/ard.js +126 -0
- package/dist/lib/agent/ard.js.map +1 -0
- package/dist/lib/agent/bot-auth.d.ts +10 -0
- package/dist/lib/agent/bot-auth.js +30 -0
- package/dist/lib/agent/bot-auth.js.map +1 -0
- package/dist/lib/agent/cards.d.ts +35 -0
- package/dist/lib/agent/cards.js +245 -0
- package/dist/lib/agent/cards.js.map +1 -0
- package/dist/lib/agent/checks.d.ts +23 -0
- package/dist/lib/agent/checks.js +133 -0
- package/dist/lib/agent/checks.js.map +1 -0
- package/dist/lib/agent/commerce.d.ts +27 -0
- package/dist/lib/agent/commerce.js +137 -0
- package/dist/lib/agent/commerce.js.map +1 -0
- package/dist/lib/agent/dns-aid.d.ts +12 -0
- package/dist/lib/agent/dns-aid.js +58 -0
- package/dist/lib/agent/dns-aid.js.map +1 -0
- package/dist/lib/agent/link-headers.d.ts +14 -0
- package/dist/lib/agent/link-headers.js +79 -0
- package/dist/lib/agent/link-headers.js.map +1 -0
- package/dist/lib/agent/markdown.d.ts +6 -0
- package/dist/lib/agent/markdown.js +19 -0
- package/dist/lib/agent/markdown.js.map +1 -0
- package/dist/lib/agent/oauth.d.ts +24 -0
- package/dist/lib/agent/oauth.js +128 -0
- package/dist/lib/agent/oauth.js.map +1 -0
- package/dist/lib/agent/poppy.d.ts +11 -0
- package/dist/lib/agent/poppy.js +59 -0
- package/dist/lib/agent/poppy.js.map +1 -0
- package/dist/lib/agent/robots.d.ts +43 -0
- package/dist/lib/agent/robots.js +197 -0
- package/dist/lib/agent/robots.js.map +1 -0
- package/dist/lib/agent/score.d.ts +49 -0
- package/dist/lib/agent/score.js +70 -0
- package/dist/lib/agent/score.js.map +1 -0
- package/dist/lib/agent/types.d.ts +65 -0
- package/dist/lib/agent/types.js +2 -0
- package/dist/lib/agent/types.js.map +1 -0
- package/dist/lib/agent/util.d.ts +32 -0
- package/dist/lib/agent/util.js +96 -0
- package/dist/lib/agent/util.js.map +1 -0
- package/dist/lib/agent/webmcp.d.ts +16 -0
- package/dist/lib/agent/webmcp.js +52 -0
- package/dist/lib/agent/webmcp.js.map +1 -0
- package/dist/lib/discovery/host-meta.d.ts +18 -0
- package/dist/lib/discovery/host-meta.js +51 -0
- package/dist/lib/discovery/host-meta.js.map +1 -0
- package/dist/lib/discovery/links.d.ts +30 -0
- package/dist/lib/discovery/links.js +62 -0
- package/dist/lib/discovery/links.js.map +1 -0
- package/dist/lib/discovery/nodeinfo.d.ts +17 -0
- package/dist/lib/discovery/nodeinfo.js +53 -0
- package/dist/lib/discovery/nodeinfo.js.map +1 -0
- package/dist/lib/discovery/pingback.d.ts +18 -0
- package/dist/lib/discovery/pingback.js +27 -0
- package/dist/lib/discovery/pingback.js.map +1 -0
- package/dist/lib/discovery/rel-me.d.ts +17 -0
- package/dist/lib/discovery/rel-me.js +34 -0
- package/dist/lib/discovery/rel-me.js.map +1 -0
- package/dist/lib/discovery/webfinger.d.ts +23 -0
- package/dist/lib/discovery/webfinger.js +57 -0
- package/dist/lib/discovery/webfinger.js.map +1 -0
- package/dist/lib/discovery/webmention.d.ts +17 -0
- package/dist/lib/discovery/webmention.js +32 -0
- package/dist/lib/discovery/webmention.js.map +1 -0
- package/dist/lib/email/dkim.d.ts +19 -0
- package/dist/lib/email/dkim.js +117 -0
- package/dist/lib/email/dkim.js.map +1 -0
- package/dist/lib/email/dmarc-policy.d.ts +20 -0
- package/dist/lib/email/dmarc-policy.js +84 -0
- package/dist/lib/email/dmarc-policy.js.map +1 -0
- package/dist/lib/email/dmarc.d.ts +44 -0
- package/dist/lib/email/dmarc.js +158 -0
- package/dist/lib/email/dmarc.js.map +1 -0
- package/dist/lib/email/domain.d.ts +5 -0
- package/dist/lib/email/domain.js +105 -0
- package/dist/lib/email/domain.js.map +1 -0
- package/dist/lib/email/mx.d.ts +13 -0
- package/dist/lib/email/mx.js +43 -0
- package/dist/lib/email/mx.js.map +1 -0
- package/dist/lib/email/net.d.ts +24 -0
- package/dist/lib/email/net.js +35 -0
- package/dist/lib/email/net.js.map +1 -0
- package/dist/lib/email/on-mail-domain.d.ts +26 -0
- package/dist/lib/email/on-mail-domain.js +40 -0
- package/dist/lib/email/on-mail-domain.js.map +1 -0
- package/dist/lib/email/smtp.d.ts +59 -0
- package/dist/lib/email/smtp.js +229 -0
- package/dist/lib/email/smtp.js.map +1 -0
- package/dist/lib/email/spf-policy.d.ts +27 -0
- package/dist/lib/email/spf-policy.js +124 -0
- package/dist/lib/email/spf-policy.js.map +1 -0
- package/dist/lib/email/spf.d.ts +29 -0
- package/dist/lib/email/spf.js +133 -0
- package/dist/lib/email/spf.js.map +1 -0
- package/dist/lib/email/tlsa.d.ts +36 -0
- package/dist/lib/email/tlsa.js +104 -0
- package/dist/lib/email/tlsa.js.map +1 -0
- package/dist/lib/email/txt.d.ts +21 -0
- package/dist/lib/email/txt.js +68 -0
- package/dist/lib/email/txt.js.map +1 -0
- package/dist/lib/emailpolicy/bimi.d.ts +28 -0
- package/dist/lib/emailpolicy/bimi.js +139 -0
- package/dist/lib/emailpolicy/bimi.js.map +1 -0
- package/dist/lib/emailpolicy/finding.d.ts +16 -0
- package/dist/lib/emailpolicy/finding.js +7 -0
- package/dist/lib/emailpolicy/finding.js.map +1 -0
- package/dist/lib/emailpolicy/mta-sts.d.ts +41 -0
- package/dist/lib/emailpolicy/mta-sts.js +219 -0
- package/dist/lib/emailpolicy/mta-sts.js.map +1 -0
- package/dist/lib/emailpolicy/on-policy-domain.d.ts +34 -0
- package/dist/lib/emailpolicy/on-policy-domain.js +42 -0
- package/dist/lib/emailpolicy/on-policy-domain.js.map +1 -0
- package/dist/lib/emailpolicy/tls-rpt.d.ts +8 -0
- package/dist/lib/emailpolicy/tls-rpt.js +124 -0
- package/dist/lib/emailpolicy/tls-rpt.js.map +1 -0
- package/dist/lib/exposure/detect.d.ts +109 -0
- package/dist/lib/exposure/detect.js +218 -0
- package/dist/lib/exposure/detect.js.map +1 -0
- package/dist/lib/feeds/checks.d.ts +52 -0
- package/dist/lib/feeds/checks.js +89 -0
- package/dist/lib/feeds/checks.js.map +1 -0
- package/dist/lib/feeds/read.d.ts +49 -0
- package/dist/lib/feeds/read.js +62 -0
- package/dist/lib/feeds/read.js.map +1 -0
- package/dist/lib/feeds/validate.d.ts +34 -0
- package/dist/lib/feeds/validate.js +112 -0
- package/dist/lib/feeds/validate.js.map +1 -0
- package/dist/lib/feeds/xml.d.ts +41 -0
- package/dist/lib/feeds/xml.js +134 -0
- package/dist/lib/feeds/xml.js.map +1 -0
- package/dist/lib/files/ai-txt.d.ts +9 -0
- package/dist/lib/files/ai-txt.js +179 -0
- package/dist/lib/files/ai-txt.js.map +1 -0
- package/dist/lib/files/issue.d.ts +14 -0
- package/dist/lib/files/issue.js +15 -0
- package/dist/lib/files/issue.js.map +1 -0
- package/dist/lib/files/llms-full-txt.d.ts +3 -0
- package/dist/lib/files/llms-full-txt.js +96 -0
- package/dist/lib/files/llms-full-txt.js.map +1 -0
- package/dist/lib/files/llms-txt.d.ts +3 -0
- package/dist/lib/files/llms-txt.js +104 -0
- package/dist/lib/files/llms-txt.js.map +1 -0
- package/dist/lib/files/robots-txt.d.ts +5 -0
- package/dist/lib/files/robots-txt.js +157 -0
- package/dist/lib/files/robots-txt.js.map +1 -0
- package/dist/lib/files/security-txt.d.ts +9 -0
- package/dist/lib/files/security-txt.js +194 -0
- package/dist/lib/files/security-txt.js.map +1 -0
- package/dist/lib/geo/checks.d.ts +48 -0
- package/dist/lib/geo/checks.js +102 -0
- package/dist/lib/geo/checks.js.map +1 -0
- package/dist/lib/geo/content.d.ts +30 -0
- package/dist/lib/geo/content.js +41 -0
- package/dist/lib/geo/content.js.map +1 -0
- package/dist/lib/geo/json-ld.d.ts +44 -0
- package/dist/lib/geo/json-ld.js +113 -0
- package/dist/lib/geo/json-ld.js.map +1 -0
- package/dist/lib/headers/cache-control.d.ts +10 -0
- package/dist/lib/headers/cache-control.js +27 -0
- package/dist/lib/headers/cache-control.js.map +1 -0
- package/dist/lib/headers/caching.d.ts +36 -0
- package/dist/lib/headers/caching.js +132 -0
- package/dist/lib/headers/caching.js.map +1 -0
- package/dist/lib/headers/client-hints.d.ts +43 -0
- package/dist/lib/headers/client-hints.js +157 -0
- package/dist/lib/headers/client-hints.js.map +1 -0
- package/dist/lib/headers/cookies.d.ts +34 -0
- package/dist/lib/headers/cookies.js +141 -0
- package/dist/lib/headers/cookies.js.map +1 -0
- package/dist/lib/headers/cors-extra.d.ts +42 -0
- package/dist/lib/headers/cors-extra.js +137 -0
- package/dist/lib/headers/cors-extra.js.map +1 -0
- package/dist/lib/headers/cors.d.ts +23 -0
- package/dist/lib/headers/cors.js +43 -0
- package/dist/lib/headers/cors.js.map +1 -0
- package/dist/lib/headers/cross-origin.d.ts +18 -0
- package/dist/lib/headers/cross-origin.js +89 -0
- package/dist/lib/headers/cross-origin.js.map +1 -0
- package/dist/lib/headers/csp.d.ts +80 -0
- package/dist/lib/headers/csp.js +438 -0
- package/dist/lib/headers/csp.js.map +1 -0
- package/dist/lib/headers/exact-header.d.ts +10 -0
- package/dist/lib/headers/exact-header.js +26 -0
- package/dist/lib/headers/exact-header.js.map +1 -0
- package/dist/lib/headers/finding.d.ts +20 -0
- package/dist/lib/headers/finding.js +10 -0
- package/dist/lib/headers/finding.js.map +1 -0
- package/dist/lib/headers/frame-options.d.ts +16 -0
- package/dist/lib/headers/frame-options.js +43 -0
- package/dist/lib/headers/frame-options.js.map +1 -0
- package/dist/lib/headers/hsts-client.d.ts +13 -0
- package/dist/lib/headers/hsts-client.js +12 -0
- package/dist/lib/headers/hsts-client.js.map +1 -0
- package/dist/lib/headers/hsts.d.ts +48 -0
- package/dist/lib/headers/hsts.js +172 -0
- package/dist/lib/headers/hsts.js.map +1 -0
- package/dist/lib/headers/http-headers.d.ts +34 -0
- package/dist/lib/headers/http-headers.js +48 -0
- package/dist/lib/headers/http-headers.js.map +1 -0
- package/dist/lib/headers/info-leak.d.ts +40 -0
- package/dist/lib/headers/info-leak.js +83 -0
- package/dist/lib/headers/info-leak.js.map +1 -0
- package/dist/lib/headers/permissions-policy.d.ts +17 -0
- package/dist/lib/headers/permissions-policy.js +111 -0
- package/dist/lib/headers/permissions-policy.js.map +1 -0
- package/dist/lib/headers/redirection.d.ts +38 -0
- package/dist/lib/headers/redirection.js +107 -0
- package/dist/lib/headers/redirection.js.map +1 -0
- package/dist/lib/headers/referrer-policy.d.ts +28 -0
- package/dist/lib/headers/referrer-policy.js +77 -0
- package/dist/lib/headers/referrer-policy.js.map +1 -0
- package/dist/lib/headers/registrable-domain.d.ts +20 -0
- package/dist/lib/headers/registrable-domain.js +55 -0
- package/dist/lib/headers/registrable-domain.js.map +1 -0
- package/dist/lib/headers/reporting-extra.d.ts +37 -0
- package/dist/lib/headers/reporting-extra.js +150 -0
- package/dist/lib/headers/reporting-extra.js.map +1 -0
- package/dist/lib/headers/reporting.d.ts +21 -0
- package/dist/lib/headers/reporting.js +103 -0
- package/dist/lib/headers/reporting.js.map +1 -0
- package/dist/lib/headers/structured-field.d.ts +12 -0
- package/dist/lib/headers/structured-field.js +32 -0
- package/dist/lib/headers/structured-field.js.map +1 -0
- package/dist/lib/headers/xss-protection.d.ts +22 -0
- package/dist/lib/headers/xss-protection.js +69 -0
- package/dist/lib/headers/xss-protection.js.map +1 -0
- package/dist/lib/headersx/accept-method.d.ts +13 -0
- package/dist/lib/headersx/accept-method.js +42 -0
- package/dist/lib/headersx/accept-method.js.map +1 -0
- package/dist/lib/headersx/compression.d.ts +15 -0
- package/dist/lib/headersx/compression.js +44 -0
- package/dist/lib/headersx/compression.js.map +1 -0
- package/dist/lib/headersx/digest.d.ts +15 -0
- package/dist/lib/headersx/digest.js +49 -0
- package/dist/lib/headersx/digest.js.map +1 -0
- package/dist/lib/headersx/fedcm.d.ts +13 -0
- package/dist/lib/headersx/fedcm.js +26 -0
- package/dist/lib/headersx/fedcm.js.map +1 -0
- package/dist/lib/headersx/privacy-apis.d.ts +29 -0
- package/dist/lib/headersx/privacy-apis.js +68 -0
- package/dist/lib/headersx/privacy-apis.js.map +1 -0
- package/dist/lib/headersx/service-worker.d.ts +13 -0
- package/dist/lib/headersx/service-worker.js +38 -0
- package/dist/lib/headersx/service-worker.js.map +1 -0
- package/dist/lib/headersx/speculation.d.ts +23 -0
- package/dist/lib/headersx/speculation.js +60 -0
- package/dist/lib/headersx/speculation.js.map +1 -0
- package/dist/lib/headersx/structured.d.ts +29 -0
- package/dist/lib/headersx/structured.js +75 -0
- package/dist/lib/headersx/structured.js.map +1 -0
- package/dist/lib/i18n/checks.d.ts +85 -0
- package/dist/lib/i18n/checks.js +150 -0
- package/dist/lib/i18n/checks.js.map +1 -0
- package/dist/lib/i18n/read.d.ts +89 -0
- package/dist/lib/i18n/read.js +105 -0
- package/dist/lib/i18n/read.js.map +1 -0
- package/dist/lib/network/caa.d.ts +31 -0
- package/dist/lib/network/caa.js +214 -0
- package/dist/lib/network/caa.js.map +1 -0
- package/dist/lib/network/compression.d.ts +10 -0
- package/dist/lib/network/compression.js +36 -0
- package/dist/lib/network/compression.js.map +1 -0
- package/dist/lib/network/dane.d.ts +58 -0
- package/dist/lib/network/dane.js +161 -0
- package/dist/lib/network/dane.js.map +1 -0
- package/dist/lib/network/dns-util.d.ts +54 -0
- package/dist/lib/network/dns-util.js +88 -0
- package/dist/lib/network/dns-util.js.map +1 -0
- package/dist/lib/network/dnssec.d.ts +11 -0
- package/dist/lib/network/dnssec.js +25 -0
- package/dist/lib/network/dnssec.js.map +1 -0
- package/dist/lib/network/ipv6.d.ts +63 -0
- package/dist/lib/network/ipv6.js +206 -0
- package/dist/lib/network/ipv6.js.map +1 -0
- package/dist/lib/network/rpki.d.ts +33 -0
- package/dist/lib/network/rpki.js +74 -0
- package/dist/lib/network/rpki.js.map +1 -0
- package/dist/lib/opengraph/checks.d.ts +217 -0
- package/dist/lib/opengraph/checks.js +401 -0
- package/dist/lib/opengraph/checks.js.map +1 -0
- package/dist/lib/opengraph/define.d.ts +43 -0
- package/dist/lib/opengraph/define.js +107 -0
- package/dist/lib/opengraph/define.js.map +1 -0
- package/dist/lib/opengraph/image-size.d.ts +13 -0
- package/dist/lib/opengraph/image-size.js +134 -0
- package/dist/lib/opengraph/image-size.js.map +1 -0
- package/dist/lib/opengraph/meta.d.ts +20 -0
- package/dist/lib/opengraph/meta.js +40 -0
- package/dist/lib/opengraph/meta.js.map +1 -0
- package/dist/lib/opengraph/text.d.ts +14 -0
- package/dist/lib/opengraph/text.js +61 -0
- package/dist/lib/opengraph/text.js.map +1 -0
- package/dist/lib/privacy/cookies.d.ts +67 -0
- package/dist/lib/privacy/cookies.js +204 -0
- package/dist/lib/privacy/cookies.js.map +1 -0
- package/dist/lib/privacy/geolocation.d.ts +35 -0
- package/dist/lib/privacy/geolocation.js +90 -0
- package/dist/lib/privacy/geolocation.js.map +1 -0
- package/dist/lib/privacy/legal-links.d.ts +41 -0
- package/dist/lib/privacy/legal-links.js +111 -0
- package/dist/lib/privacy/legal-links.js.map +1 -0
- package/dist/lib/privacy/local-storage.d.ts +18 -0
- package/dist/lib/privacy/local-storage.js +36 -0
- package/dist/lib/privacy/local-storage.js.map +1 -0
- package/dist/lib/privacy/registrable-domain.d.ts +13 -0
- package/dist/lib/privacy/registrable-domain.js +135 -0
- package/dist/lib/privacy/registrable-domain.js.map +1 -0
- package/dist/lib/privacy/requests.d.ts +43 -0
- package/dist/lib/privacy/requests.js +83 -0
- package/dist/lib/privacy/requests.js.map +1 -0
- package/dist/lib/pwa/checks.d.ts +61 -0
- package/dist/lib/pwa/checks.js +179 -0
- package/dist/lib/pwa/checks.js.map +1 -0
- package/dist/lib/pwa/manifest.d.ts +67 -0
- package/dist/lib/pwa/manifest.js +134 -0
- package/dist/lib/pwa/manifest.js.map +1 -0
- package/dist/lib/pwa/read.d.ts +46 -0
- package/dist/lib/pwa/read.js +52 -0
- package/dist/lib/pwa/read.js.map +1 -0
- package/dist/lib/richresults/checks.d.ts +102 -0
- package/dist/lib/richresults/checks.js +289 -0
- package/dist/lib/richresults/checks.js.map +1 -0
- package/dist/lib/richresults/nodes.d.ts +41 -0
- package/dist/lib/richresults/nodes.js +114 -0
- package/dist/lib/richresults/nodes.js.map +1 -0
- package/dist/lib/secplus/cookie-prefixes.d.ts +39 -0
- package/dist/lib/secplus/cookie-prefixes.js +91 -0
- package/dist/lib/secplus/cookie-prefixes.js.map +1 -0
- package/dist/lib/secplus/csp-strength.d.ts +35 -0
- package/dist/lib/secplus/csp-strength.js +140 -0
- package/dist/lib/secplus/csp-strength.js.map +1 -0
- package/dist/lib/secplus/form-action.d.ts +34 -0
- package/dist/lib/secplus/form-action.js +61 -0
- package/dist/lib/secplus/form-action.js.map +1 -0
- package/dist/lib/secplus/http-methods.d.ts +25 -0
- package/dist/lib/secplus/http-methods.js +51 -0
- package/dist/lib/secplus/http-methods.js.map +1 -0
- package/dist/lib/secplus/tabnabbing.d.ts +43 -0
- package/dist/lib/secplus/tabnabbing.js +88 -0
- package/dist/lib/secplus/tabnabbing.js.map +1 -0
- package/dist/lib/seo/checks.d.ts +93 -0
- package/dist/lib/seo/checks.js +231 -0
- package/dist/lib/seo/checks.js.map +1 -0
- package/dist/lib/seo/content.d.ts +71 -0
- package/dist/lib/seo/content.js +297 -0
- package/dist/lib/seo/content.js.map +1 -0
- package/dist/lib/seo/icons.d.ts +23 -0
- package/dist/lib/seo/icons.js +37 -0
- package/dist/lib/seo/icons.js.map +1 -0
- package/dist/lib/seo/mobile.d.ts +23 -0
- package/dist/lib/seo/mobile.js +68 -0
- package/dist/lib/seo/mobile.js.map +1 -0
- package/dist/lib/seo/read.d.ts +61 -0
- package/dist/lib/seo/read.js +123 -0
- package/dist/lib/seo/read.js.map +1 -0
- package/dist/lib/technical/checks.d.ts +60 -0
- package/dist/lib/technical/checks.js +109 -0
- package/dist/lib/technical/checks.js.map +1 -0
- package/dist/lib/technical/read.d.ts +81 -0
- package/dist/lib/technical/read.js +187 -0
- package/dist/lib/technical/read.js.map +1 -0
- package/dist/lib/technical/speed.d.ts +52 -0
- package/dist/lib/technical/speed.js +113 -0
- package/dist/lib/technical/speed.js.map +1 -0
- package/dist/lib/tls/certs.d.ts +26 -0
- package/dist/lib/tls/certs.js +59 -0
- package/dist/lib/tls/certs.js.map +1 -0
- package/dist/lib/tls/client.d.ts +104 -0
- package/dist/lib/tls/client.js +224 -0
- package/dist/lib/tls/client.js.map +1 -0
- package/dist/lib/tls/constants.d.ts +70 -0
- package/dist/lib/tls/constants.js +163 -0
- package/dist/lib/tls/constants.js.map +1 -0
- package/dist/lib/tls/der.d.ts +11 -0
- package/dist/lib/tls/der.js +70 -0
- package/dist/lib/tls/der.js.map +1 -0
- package/dist/lib/tls/evaluate.d.ts +126 -0
- package/dist/lib/tls/evaluate.js +231 -0
- package/dist/lib/tls/evaluate.js.map +1 -0
- package/dist/lib/tls/openssl.d.ts +86 -0
- package/dist/lib/tls/openssl.js +286 -0
- package/dist/lib/tls/openssl.js.map +1 -0
- package/dist/lib/wellknown/ads-txt.d.ts +10 -0
- package/dist/lib/wellknown/ads-txt.js +119 -0
- package/dist/lib/wellknown/ads-txt.js.map +1 -0
- package/dist/lib/wellknown/apple-app-site-association.d.ts +8 -0
- package/dist/lib/wellknown/apple-app-site-association.js +125 -0
- package/dist/lib/wellknown/apple-app-site-association.js.map +1 -0
- package/dist/lib/wellknown/assetlinks-json.d.ts +7 -0
- package/dist/lib/wellknown/assetlinks-json.js +93 -0
- package/dist/lib/wellknown/assetlinks-json.js.map +1 -0
- package/dist/lib/wellknown/gpc-json.d.ts +8 -0
- package/dist/lib/wellknown/gpc-json.js +52 -0
- package/dist/lib/wellknown/gpc-json.js.map +1 -0
- package/dist/lib/wellknown/json.d.ts +11 -0
- package/dist/lib/wellknown/json.js +39 -0
- package/dist/lib/wellknown/json.js.map +1 -0
- package/dist/lib/wellknown/sellers-json.d.ts +10 -0
- package/dist/lib/wellknown/sellers-json.js +128 -0
- package/dist/lib/wellknown/sellers-json.js.map +1 -0
- package/dist/node/child-process.d.ts +7 -0
- package/dist/node/child-process.js +8 -0
- package/dist/node/child-process.js.map +1 -0
- package/dist/node/crypto.d.ts +7 -0
- package/dist/node/crypto.js +8 -0
- package/dist/node/crypto.js.map +1 -0
- package/dist/node/fs-promises.d.ts +7 -0
- package/dist/node/fs-promises.js +8 -0
- package/dist/node/fs-promises.js.map +1 -0
- package/dist/node/http.d.ts +7 -0
- package/dist/node/http.js +8 -0
- package/dist/node/http.js.map +1 -0
- package/dist/node/https.d.ts +7 -0
- package/dist/node/https.js +8 -0
- package/dist/node/https.js.map +1 -0
- package/dist/node/net.d.ts +7 -0
- package/dist/node/net.js +8 -0
- package/dist/node/net.js.map +1 -0
- package/dist/node/os.d.ts +7 -0
- package/dist/node/os.js +8 -0
- package/dist/node/os.js.map +1 -0
- package/dist/node/path.d.ts +7 -0
- package/dist/node/path.js +9 -0
- package/dist/node/path.js.map +1 -0
- package/dist/node/tls.d.ts +8 -0
- package/dist/node/tls.js +9 -0
- package/dist/node/tls.js.map +1 -0
- package/dist/node/url.d.ts +7 -0
- package/dist/node/url.js +8 -0
- package/dist/node/url.js.map +1 -0
- package/dist/presets.d.ts +22 -0
- package/dist/presets.js +21 -0
- package/dist/presets.js.map +1 -0
- package/dist/registry.d.ts +10 -0
- package/dist/registry.js +17 -0
- package/dist/registry.js.map +1 -0
- package/package.json +117 -4
- package/types/child_process.d.ts +3 -0
- package/types/crypto.d.ts +3 -0
- package/types/fs-promises.d.ts +3 -0
- package/types/http.d.ts +3 -0
- package/types/https.d.ts +3 -0
- package/types/net.d.ts +3 -0
- package/types/os.d.ts +3 -0
- package/types/path.d.ts +5 -0
- package/types/tls.d.ts +5 -0
- package/types/url.d.ts +3 -0
package/README.md
CHANGED
|
@@ -1,3 +1,409 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @mridang/webhint-hint-plumbline
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Extra [webhint](https://webhint.io) hints for sites and the APIs next to them. They cover what the stock hints leave out: security headers, Open Graph and SEO, agent readiness, privacy, DNS, TLS, email and the well-known files (`robots.txt`, `security.txt`, `llms.txt`, `ai.txt`).
|
|
4
|
+
|
|
5
|
+
286 hints in total. Every check is ported from a public reference, listed under [References](../../README.md#references), with the original rules, thresholds and wording kept.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm install --save-dev hint @hint/connector-puppeteer @hint/parser-html @mridang/webhint-hint-plumbline
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Node 22 or later is needed, and a Chrome or Chromium install for the `puppeteer` connector.
|
|
14
|
+
|
|
15
|
+
## Use
|
|
16
|
+
|
|
17
|
+
Each group is a ready-made preset in `configs/<group>.json` (see [Groups](#groups)). Extend the ones you want in `.hintrc`:
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"formatters": ["stylish"],
|
|
22
|
+
"extends": [
|
|
23
|
+
"./node_modules/@mridang/webhint-hint-plumbline/configs/observatory.json",
|
|
24
|
+
"./node_modules/@mridang/webhint-hint-plumbline/configs/owasp.json",
|
|
25
|
+
"./node_modules/@mridang/webhint-hint-plumbline/configs/email.json"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Every preset names the `puppeteer` connector and the `html` parser, which a project's own `.hintrc` can override. Then scan:
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
npx hint https://example.com/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Single hints are listed as `@mridang/webhint-hint-plumbline/<id>`, with the ids from the [Hints](#hints) table. Use `default` as the severity so each hint keeps the level its rule defines (`error` for a failed rule, `warning` for advice, `hint` for information):
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"connector": { "name": "puppeteer" },
|
|
41
|
+
"parsers": ["html"],
|
|
42
|
+
"formatters": ["stylish"],
|
|
43
|
+
"hints": {
|
|
44
|
+
"@mridang/webhint-hint-plumbline/csp": "default",
|
|
45
|
+
"@mridang/webhint-hint-plumbline/hsts": ["default", { "profile": "owasp" }]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
A few hints take options:
|
|
51
|
+
|
|
52
|
+
| Hint | Option | What it does |
|
|
53
|
+
| --------------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------- |
|
|
54
|
+
| `csp`, `hsts`, `coop`, `coep`, `corp`, `referrer-policy`, `x-frame-options` | `profile` | `observatory` (the default) applies Mozilla Observatory's rule, `owasp` the OWASP recommended value. |
|
|
55
|
+
| `cache-control` | `enforce` (boolean) | Off by default. When `true`, requires `Cache-Control: no-store, max-age=0`, as private applications should. |
|
|
56
|
+
| `clear-site-data` | `logoutUrl` (string) | Off by default. When set, fetches that URL and checks it answers with `Clear-Site-Data`. |
|
|
57
|
+
|
|
58
|
+
For a report that groups the findings by section and shows each hint's description and sources, add [`@mridang/webhint-formatter-plumbline`](../formatter/README.md). To run every hint without writing a `.hintrc`, use the [`plumbline` CLI](../cli/README.md).
|
|
59
|
+
|
|
60
|
+
### Before the first release
|
|
61
|
+
|
|
62
|
+
Until the package is on npm, build it from this repository and install the tarball into a scratch folder:
|
|
63
|
+
|
|
64
|
+
```sh
|
|
65
|
+
devbox run -- npm run build
|
|
66
|
+
devbox run -- npm pack ./packages/hints --pack-destination "$(mktemp -d)"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`npm pack` prints the path of the tarball; install it with `npm install hint @hint/connector-puppeteer @hint/parser-html /path/to/mridang-webhint-hint-plumbline-0.0.0.tgz`.
|
|
70
|
+
|
|
71
|
+
## In the browser
|
|
72
|
+
|
|
73
|
+
The package also loads in a browser, which is how the [plumbline site](../web/README.md) runs it. It imports Node's socket, TLS, process, crypto and file modules through the conditional imports in `package.json` (`#net`, `#tls`, `#child_process`, …): Node gets `src/node/`, browsers get `src/browser/`, whose stand-ins refuse, so a hint that needs a raw connection is reported as skipped there.
|
|
74
|
+
|
|
75
|
+
## Development
|
|
76
|
+
|
|
77
|
+
Commands run from the repository root through devbox. [`AGENTS.md`](../../AGENTS.md) explains how a hint is written, registered and tested.
|
|
78
|
+
|
|
79
|
+
```sh
|
|
80
|
+
devbox run -- npm run build
|
|
81
|
+
devbox run -- npx jest --coverage=false packages/hints
|
|
82
|
+
devbox run -- npx eslint packages/hints
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Groups
|
|
86
|
+
|
|
87
|
+
A hint can belong to several groups, so a whole source or a whole topic can be switched on at once. Each group is a ready-made preset in `configs/<group>.json`; extend one or several as shown under [Use](#use).
|
|
88
|
+
|
|
89
|
+
| Kind | Groups |
|
|
90
|
+
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
91
|
+
| Source | `observatory`, `owasp`, `opengraph`, `agent-ready`, `webbkoll`, `internetnl`, `files`, `llmscout`, `original`, `mdn`, `iab`, `google`, `w3c`, `ietf`, `indieweb`, `apple`, `oembed`, `opensearch`, `roctify` |
|
|
92
|
+
| Topic | `security-headers`, `tls`, `dns`, `privacy`, `seo`, `social`, `email`, `agent`, `pwa` |
|
|
93
|
+
|
|
94
|
+
The source groups keep the original grouping of each reference, so a source can be enabled or disabled as a whole.
|
|
95
|
+
|
|
96
|
+
## Sections
|
|
97
|
+
|
|
98
|
+
Every hint is sorted into one section, which is also the sidebar of the report. A hint can carry tags for other sections it touches. The sections were proposed by two teams of reviewers, one arguing from what a site owner wants and one from protocols and layers, and settled by a judge; where a placement was a close call, who usually has to make the fix decided it.
|
|
99
|
+
|
|
100
|
+
| Section | Hints | What it holds | Usually fixed by |
|
|
101
|
+
| ----------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
|
102
|
+
| LLMs and AI | 34 | Everything that tells bots and AI systems what they may read and how to use you: robots.txt, llms.txt, ai.txt, AI crawler rules, Content Signals, agent discovery, auth and payment protocols, Web Bot Auth, markdown negotiation and answer-engine markup. | site content, files at the web root and /.well-known, web server config |
|
|
103
|
+
| Search and page quality | 57 | Be found and understood by search engines: titles, descriptions, headings, lang, canonical, robots meta, JSON-LD, alt text, image weight, redirect chains. | site content and templates |
|
|
104
|
+
| Link previews and icons | 44 | How the site looks when shared or bookmarked: Open Graph, Twitter/X cards and favicons. | site content and templates (the HTML head) |
|
|
105
|
+
| HTTPS and certificates | 20 | Visitors reach the real site over a trusted encrypted connection: TLS versions, ciphers, certificates, mail-server STARTTLS, compression risk. | web server or CDN TLS config |
|
|
106
|
+
| Site protection | 67 | Make the site hard to attack from a browser: CSP, framing, cross-origin policies, CORS, cookie flags, HSTS-adjacent header rules, deprecated headers, private-page caching, security.txt. | web server or application config (response headers) |
|
|
107
|
+
| Visitor privacy | 15 | What the site reveals about its visitors: cookies, third-party requests, localStorage, geolocation, referrer and DNS-prefetch leakage, third-party report endpoints, and the privacy policy and terms it links. | site content, scripts and header config |
|
|
108
|
+
| Email security | 30 | Mail sent as your domain is trusted and cannot be spoofed: SPF, DKIM, DMARC, STARTTLS, and DNSSEC, DANE, IPv6 and RPKI of the mail servers. | mail admin / mail DNS records |
|
|
109
|
+
| DNS and network | 15 | The domain, name servers and web server are reachable and tamper-resistant: DNSSEC, IPv6, RPKI, DANE and CAA. | DNS zone, registrar, hosting/network provider |
|
|
110
|
+
| Progressive Web App | 4 | The page is installable and themed as an app: a linked, valid Web App Manifest with install-ready icons and a theme colour. | the web app manifest and service worker |
|
|
111
|
+
|
|
112
|
+
## Where the hints come from
|
|
113
|
+
|
|
114
|
+
Each hint records its origins (the upstream check, a link to it, a summary and the licence) in its metadata, and the full list of references with their licences is in `src/core/sources.ts` (and in the [References](../../README.md#references) of the root README). Hints written for this package, with no upstream, are in the `original` group.
|
|
115
|
+
|
|
116
|
+
## Hints
|
|
117
|
+
|
|
118
|
+
| Hint | What it checks | Section | Groups |
|
|
119
|
+
| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
|
120
|
+
| `accept-ch` | Checks the Accept-CH token list and notes that each client hint adds to fingerprinting. | Visitor privacy (also Site protection) | `mdn`, `security-headers`, `privacy` |
|
|
121
|
+
| `accept-patch` | Validates the Accept-Patch media-type list advertising PATCH body formats when present. | Site protection | `mdn`, `security-headers` |
|
|
122
|
+
| `accept-post` | Validates the Accept-Post media-type list advertising POST body formats when present. | Site protection | `mdn`, `security-headers` |
|
|
123
|
+
| `ads-txt` | Checks that /ads.txt follows the IAB Tech Lab ads.txt 1.1 spec. | Search and page quality | `iab`, `seo` |
|
|
124
|
+
| `age` | Checks that the Age header is a non-negative number of seconds. | Site protection | `mdn`, `security-headers` |
|
|
125
|
+
| `agent-a2a-agent-card` | Requires an A2A agent card at /.well-known/agent-card.json. | LLMs and AI | `agent-ready`, `agent` |
|
|
126
|
+
| `agent-acp` | Reports whether /.well-known/acp.json is published. | LLMs and AI | `agent-ready`, `agent` |
|
|
127
|
+
| `agent-ai-bot-rules` | Requires robots.txt rules naming known AI crawlers. | LLMs and AI (also Visitor privacy) | `agent-ready`, `agent`, `privacy` |
|
|
128
|
+
| `agent-api-catalog` | Requires an RFC 9727 linkset at /.well-known/api-catalog. | LLMs and AI | `agent-ready`, `agent` |
|
|
129
|
+
| `agent-ard` | Requires a valid AI catalog at /.well-known/ard.json. | LLMs and AI | `agent-ready`, `agent`, `dns` |
|
|
130
|
+
| `agent-auth-md` | Requires /auth.md with agent registration instructions. | LLMs and AI | `agent-ready`, `agent` |
|
|
131
|
+
| `agent-content-signals` | Requires a Content-Signal directive in robots.txt. | LLMs and AI (also Visitor privacy) | `agent-ready`, `agent`, `privacy` |
|
|
132
|
+
| `agent-dns-aid` | Requires SVCB or HTTPS records under _agents of the host (DNS-AID). | LLMs and AI (also DNS and network) | `agent-ready`, `agent`, `dns` |
|
|
133
|
+
| `agent-link-headers` | Requires a Link header with an agent-useful relation such as api-catalog or service-desc. | LLMs and AI | `agent-ready`, `agent` |
|
|
134
|
+
| `agent-markdown-negotiation` | Requires text/markdown when the home page is requested with Accept: text/markdown. | LLMs and AI | `agent-ready`, `agent` |
|
|
135
|
+
| `agent-mcp-server-card` | Requires an MCP server card with serverInfo and a transport endpoint. | LLMs and AI | `agent-ready`, `agent` |
|
|
136
|
+
| `agent-mpp` | Reports whether /openapi.json advertises x-payment-info (MPP). | LLMs and AI | `agent-ready`, `agent` |
|
|
137
|
+
| `agent-oauth-discovery` | Requires OIDC or RFC 8414 authorization server metadata with a valid issuer. | LLMs and AI | `agent-ready`, `agent` |
|
|
138
|
+
| `agent-oauth-protected-resource` | Requires /.well-known/oauth-protected-resource with a resource on this site. | LLMs and AI | `agent-ready`, `agent` |
|
|
139
|
+
| `agent-poppy` | Requires a valid /.well-known/poppy.json. | LLMs and AI | `agent-ready`, `agent` |
|
|
140
|
+
| `agent-robots-txt` | Requires a text/plain /robots.txt with at least one User-agent directive. | LLMs and AI (also Search and page quality) | `agent-ready`, `agent` |
|
|
141
|
+
| `agent-score` | Reports the overall agent readiness score and level. | LLMs and AI | `agent-ready`, `agent` |
|
|
142
|
+
| `agent-sitemap` | Requires a valid XML sitemap listed in robots.txt or at /sitemap.xml. | LLMs and AI (also Search and page quality) | `agent-ready`, `agent`, `roctify`, `seo` |
|
|
143
|
+
| `agent-skills` | Requires an agent skills index with name, type, description, url and digest per skill. | LLMs and AI | `agent-ready`, `agent` |
|
|
144
|
+
| `agent-ucp` | Reports whether /.well-known/ucp is published. | LLMs and AI | `agent-ready`, `agent` |
|
|
145
|
+
| `agent-web-bot-auth` | Requires a key directory at /.well-known/http-message-signatures-directory. | LLMs and AI (also Site protection) | `agent-ready`, `agent`, `security-headers` |
|
|
146
|
+
| `agent-webmcp` | Requires the page to expose WebMCP tools (modelContext or toolname forms). | LLMs and AI | `agent-ready`, `agent` |
|
|
147
|
+
| `agent-x402` | Reports whether an endpoint answers 402 Payment Required (x402). | LLMs and AI | `agent-ready`, `agent` |
|
|
148
|
+
| `ai-txt` | Checks that /ai.txt is valid in the aitxt.ing or Spawning format. | LLMs and AI | `files`, `agent` |
|
|
149
|
+
| `alt-svc` | Reports the advertised alternative services and flags a malformed Alt-Svc value. | Site protection | `mdn`, `security-headers` |
|
|
150
|
+
| `alternate-media` | Reports a malformed <link rel="alternate" media="…">. | Search and page quality | `mdn`, `seo` |
|
|
151
|
+
| `app-ads-txt` | Checks that /app-ads.txt follows the IAB Tech Lab app-ads.txt spec. | Search and page quality | `iab`, `seo` |
|
|
152
|
+
| `apple-app-site-association` | Checks that the apple-app-site-association file follows Apple associated-domains rules. | Site protection | `apple`, `security-headers` |
|
|
153
|
+
| `assetlinks-json` | Checks that /.well-known/assetlinks.json follows the Digital Asset Links schema. | Site protection | `google`, `security-headers` |
|
|
154
|
+
| `attribution-reporting` | Reports participation in the Attribution Reporting API and validates the registration headers. | Visitor privacy | `mdn`, `privacy` |
|
|
155
|
+
| `bimi` | Requires the site mail domain, when it publishes BIMI, to use an HTTPS SVG logo and HTTPS certificate URL. | Email security | `ietf`, `email`, `dns` |
|
|
156
|
+
| `caa` | Requires the domain to publish syntactically valid CAA records that include an issue property. | DNS and network (also HTTPS and certificates) | `internetnl`, `dns`, `tls` |
|
|
157
|
+
| `cache-control` | Requires Cache-Control: no-store, max-age=0 on private applications (opt-in with the enforce option). | Site protection (also Visitor privacy) | `owasp`, `security-headers` |
|
|
158
|
+
| `cert-hostname` | Requires the host name of the website to match a name on its HTTPS certificate. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
159
|
+
| `cert-pubkey` | Requires every certificate in the HTTPS chain to use a secure public key type and size. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
160
|
+
| `cert-signature` | Requires every certificate in the HTTPS chain to be signed with a secure algorithm and hash function. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
161
|
+
| `cert-trust` | Requires the HTTPS certificate to chain to a trusted root, with all intermediates sent. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
162
|
+
| `change-password` | Checks that /.well-known/change-password resolves to a password-change page. | Site protection | `w3c`, `security-headers` |
|
|
163
|
+
| `clear-site-data` | Requires the logout response to send Clear-Site-Data for cache, cookies and storage. | Site protection | `owasp`, `security-headers` |
|
|
164
|
+
| `coep` | Checks that Cross-Origin-Embedder-Policy requires embedded resources to opt in. | Site protection | `observatory`, `owasp`, `security-headers` |
|
|
165
|
+
| `content-digest` | Validates the Content-Digest header as an RFC 9530 digest dictionary when present. | Site protection | `mdn`, `security-headers` |
|
|
166
|
+
| `cookie-prefixes` | Checks that __Host- and __Secure- cookies meet their prefix requirements. | Site protection (also Visitor privacy) | `owasp`, `security-headers` |
|
|
167
|
+
| `cookies` | Checks that cookies use Secure, HttpOnly for sessions and SameSite. | Site protection (also Visitor privacy) | `observatory`, `security-headers`, `privacy` |
|
|
168
|
+
| `coop` | Checks that Cross-Origin-Opener-Policy isolates the page from windows it did not open. | Site protection | `observatory`, `owasp`, `security-headers` |
|
|
169
|
+
| `corp` | Checks that Cross-Origin-Resource-Policy limits who may load the page as a resource. | Site protection | `observatory`, `owasp`, `security-headers` |
|
|
170
|
+
| `cors` | Checks that Access-Control-Allow-Origin does not let any site make credentialed requests. | Site protection | `observatory`, `security-headers` |
|
|
171
|
+
| `cors-allow-credentials` | Reports credentialed CORS access, especially when combined with a wildcard origin. | Site protection | `mdn`, `security-headers` |
|
|
172
|
+
| `cors-allow-headers` | Reports a wildcard Access-Control-Allow-Headers, which allows every request header. | Site protection | `mdn`, `security-headers` |
|
|
173
|
+
| `cors-allow-methods` | Reports a wildcard or unrecognised method in the Access-Control-Allow-Methods header. | Site protection | `mdn`, `security-headers` |
|
|
174
|
+
| `cors-expose-headers` | Reports a wildcard or sensitive header in the Access-Control-Expose-Headers header. | Site protection | `mdn`, `security-headers` |
|
|
175
|
+
| `cors-max-age` | Reports a malformed or excessively long Access-Control-Max-Age preflight cache. | Site protection | `mdn`, `security-headers` |
|
|
176
|
+
| `critical-ch` | Checks that every hint in Critical-CH is also advertised in Accept-CH. | Visitor privacy (also Site protection) | `mdn`, `security-headers`, `privacy` |
|
|
177
|
+
| `csp` | Checks that a Content Security Policy is set and does not allow unsafe sources. | Site protection | `observatory`, `owasp`, `webbkoll`, `internetnl`, `security-headers` |
|
|
178
|
+
| `csp-reporting` | Reports CSP, report-only and NEL report endpoints that point to a third-party domain. | Visitor privacy (also Site protection) | `webbkoll`, `security-headers`, `privacy` |
|
|
179
|
+
| `csp-strength` | Evaluates CSP depth for unsafe-inline, unsafe-eval, object-src, base-uri and broad allowlists. | Site protection | `google`, `security-headers` |
|
|
180
|
+
| `dane-exists` | Checks that the website domain publishes a signed TLSA record for DANE. | DNS and network (also HTTPS and certificates) | `internetnl`, `dns`, `tls` |
|
|
181
|
+
| `dane-rollover` | Checks that the website domain publishes at least two TLSA records so DANE survives a certificate rollover. | DNS and network (also HTTPS and certificates) | `internetnl`, `dns`, `tls` |
|
|
182
|
+
| `dane-valid` | Requires the DANE TLSA record of the website domain to match the web certificate. | DNS and network (also HTTPS and certificates) | `internetnl`, `dns`, `tls` |
|
|
183
|
+
| `dnssec-exists` | Requires the domain of the site to be DNSSEC signed. | DNS and network | `internetnl`, `dns` |
|
|
184
|
+
| `dnssec-valid` | Requires the DNSSEC signature of the domain to be valid. | DNS and network | `internetnl`, `dns` |
|
|
185
|
+
| `etag` | Reports an ETag that looks like a filesystem inode and so leaks server internals. | Site protection | `mdn`, `security-headers` |
|
|
186
|
+
| `expect-ct` | Reports the deprecated Expect-CT header when it is sent. | Site protection | `owasp`, `security-headers` |
|
|
187
|
+
| `expires` | Checks that Expires is a valid HTTP-date and notes when Cache-Control max-age supersedes it. | Site protection | `mdn`, `security-headers` |
|
|
188
|
+
| `exposed-backup-files` | Reports when common backup files are served, leaking source or config. | Site protection | `owasp` |
|
|
189
|
+
| `exposed-crossdomain` | Reports when /crossdomain.xml allows access from any domain ("*"). | Site protection | `owasp` |
|
|
190
|
+
| `exposed-directory-listing` | Reports when a common directory returns an automatic index of its files. | Site protection | `owasp` |
|
|
191
|
+
| `exposed-ds-store` | Reports when /.DS_Store is served, leaking directory contents. | Site protection | `owasp` |
|
|
192
|
+
| `exposed-env` | Reports when /.env is served with KEY=VALUE content, leaking secrets. | Site protection | `owasp` |
|
|
193
|
+
| `exposed-git` | Reports when /.git/HEAD or /.git/config is served, exposing the repository. | Site protection | `owasp` |
|
|
194
|
+
| `exposed-server-status` | Reports when Apache /server-status or /server-info is publicly readable. | Site protection | `owasp` |
|
|
195
|
+
| `exposed-source-map` | Reports when a referenced script has a reachable, valid .js.map source map. | Site protection | `owasp` |
|
|
196
|
+
| `exposed-svn` | Reports when /.svn/entries or /.svn/wc.db is served, exposing the repository. | Site protection | `owasp` |
|
|
197
|
+
| `feature-policy` | Reports the deprecated Feature-Policy header when it is sent. | Site protection | `owasp`, `security-headers` |
|
|
198
|
+
| `feed-discovery` | Checks for an RSS/Atom feed <link rel="alternate"> with an absolute href. | Link previews and icons (also Search and page quality) | `ietf`, `social` |
|
|
199
|
+
| `feed-valid` | Fetches each discovered RSS/Atom feed and checks it is well-formed. | Link previews and icons | `ietf`, `social` |
|
|
200
|
+
| `form-action-secure` | Checks that forms on an HTTPS page do not submit to an http:// action. | Site protection (also HTTPS and certificates) | `owasp`, `security-headers` |
|
|
201
|
+
| `geo-content-extraction` | Reports pages whose content lacks heading and paragraph structure. | LLMs and AI (also Search and page quality) | `llmscout`, `agent`, `seo` |
|
|
202
|
+
| `geo-faq-schema` | Reports pages without FAQPage JSON-LD. | LLMs and AI (also Search and page quality) | `llmscout`, `agent`, `seo` |
|
|
203
|
+
| `geo-organization-schema` | Reports pages without Organization or Person JSON-LD that links profiles with sameAs. | LLMs and AI (also Search and page quality) | `llmscout`, `agent`, `seo` |
|
|
204
|
+
| `geo-speakable-schema` | Reports pages without Speakable JSON-LD. | LLMs and AI (also Search and page quality) | `llmscout`, `agent`, `seo` |
|
|
205
|
+
| `geo-structured-data-invalid` | Reports JSON-LD blocks that are not valid JSON. | Search and page quality (also LLMs and AI) | `llmscout`, `agent`, `seo` |
|
|
206
|
+
| `gpc-json` | Checks that /.well-known/gpc.json follows the Global Privacy Control spec. | Visitor privacy | `w3c`, `privacy` |
|
|
207
|
+
| `host-meta` | Validates the /.well-known/host-meta XRD/JRD document when present (RFC 6415). | LLMs and AI | `ietf`, `agent` |
|
|
208
|
+
| `hreflang-duplicate` | Reports hreflang values declared on more than one alternate. | Search and page quality | `google`, `seo` |
|
|
209
|
+
| `hreflang-return` | Flags hreflang alternates that use a non-absolute URL. | Search and page quality | `google`, `seo` |
|
|
210
|
+
| `hreflang-self` | Reports an hreflang set that does not reference the page itself. | Search and page quality | `google`, `seo`, `roctify` |
|
|
211
|
+
| `hreflang-valid-codes` | Reports hreflang values that are not valid language/region codes. | Search and page quality | `google`, `seo`, `roctify` |
|
|
212
|
+
| `hreflang-x-default` | Reports an hreflang set that has no x-default entry. | Search and page quality | `google`, `seo` |
|
|
213
|
+
| `hsts` | Checks the Strict-Transport-Security header: HTTPS only, max-age and subdomain coverage. | HTTPS and certificates (also Site protection) | `observatory`, `owasp`, `webbkoll`, `internetnl`, `security-headers`, `roctify` |
|
|
214
|
+
| `http-methods` | Probes OPTIONS on the root and flags TRACE (XST) and unsafe write methods. | Site protection | `owasp`, `security-headers` |
|
|
215
|
+
| `https-available` | Requires the website to be reachable over HTTPS, with a completed TLS handshake on the HTTPS port. | HTTPS and certificates | `internetnl`, `tls`, `security-headers`, `roctify` |
|
|
216
|
+
| `humans-txt` | Checks that /humans.txt is present and served as plain text (humanstxt.org). | Search and page quality | `indieweb`, `seo` |
|
|
217
|
+
| `icons-apple-touch-icon-missing` | Warns when the page declares no apple-touch-icon link. | Link previews and icons (also Search and page quality) | `roctify`, `seo` |
|
|
218
|
+
| `icons-favicon-32-missing` | Reports sites without a 32x32 PNG favicon link. | Link previews and icons (also Search and page quality) | `opengraph`, `seo` |
|
|
219
|
+
| `icons-favicon-ico-or-png-missing` | Warns when there is no .ico or .png favicon (Google Search does not support SVG favicons). | Link previews and icons (also Search and page quality) | `opengraph`, `seo` |
|
|
220
|
+
| `icons-favicon-missing` | Reports sites that declare no favicon and serve no /favicon.ico. | Link previews and icons (also Search and page quality) | `opengraph`, `seo`, `roctify` |
|
|
221
|
+
| `icons-favicon-svg-missing` | Reports sites without an SVG favicon link. | Link previews and icons (also Search and page quality) | `opengraph`, `seo` |
|
|
222
|
+
| `integrity-policy` | Checks that Integrity-Policy declares a non-empty blocked-destinations list. | Site protection | `mdn`, `security-headers` |
|
|
223
|
+
| `integrity-policy-report-only` | Checks that Integrity-Policy-Report-Only declares a non-empty blocked-destinations list. | Site protection | `mdn`, `security-headers` |
|
|
224
|
+
| `internetnl-http-compression` | Reports when the web server compresses the root document (BREACH risk). | Site protection (also HTTPS and certificates) | `internetnl`, `security-headers`, `roctify` |
|
|
225
|
+
| `ipv6-ns-aaaa` | Requires at least two name servers of the domain to have an IPv6 address. | DNS and network | `internetnl`, `dns` |
|
|
226
|
+
| `ipv6-ns-reach` | Requires every name server with an IPv6 address to be reachable over IPv6. | DNS and network | `internetnl`, `dns` |
|
|
227
|
+
| `ipv6-same-content` | Requires the website over IPv6 to offer the same ports, headers and content as over IPv4. | DNS and network | `internetnl`, `dns` |
|
|
228
|
+
| `ipv6-web-aaaa` | Requires the web server to have at least one IPv6 address. | DNS and network | `internetnl`, `dns` |
|
|
229
|
+
| `ipv6-web-reach` | Requires every IPv6 address of the web server to be reachable over IPv6. | DNS and network | `internetnl`, `dns` |
|
|
230
|
+
| `last-modified` | Checks that the Last-Modified header is a valid HTTP-date. | Site protection | `mdn`, `security-headers` |
|
|
231
|
+
| `llms-full-txt` | Checks that /llms-full.txt is non-empty markdown that parses. | LLMs and AI | `files`, `agent` |
|
|
232
|
+
| `llms-txt` | Checks that /llms.txt follows the llmstxt.org format. | LLMs and AI | `files`, `agent` |
|
|
233
|
+
| `mail-caa` | Requires the mail servers (MX) of the site domain to be covered by syntactically valid CAA records with an issue property. | Email security (also DNS and network, HTTPS and certificates) | `internetnl`, `email`, `dns`, `tls` |
|
|
234
|
+
| `mail-cert-hostname` | Checks that the host names of the mail servers (MX) match a name on their certificates. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
235
|
+
| `mail-cert-pubkey` | Requires every certificate in the chain of the mail servers (MX) to use a secure public key type and size. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
236
|
+
| `mail-cert-signature` | Requires every certificate in the chain of the mail servers (MX) to be signed with a secure algorithm and hash function. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
237
|
+
| `mail-cert-trust` | Checks that the certificates of the mail servers (MX) chain to a trusted root, with all intermediates sent. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
238
|
+
| `mail-dane` | Requires the mail servers (MX) of the site domain to publish DNSSEC-signed TLSA records that match their certificates. | Email security (also DNS and network) | `internetnl`, `email`, `dns`, `tls` |
|
|
239
|
+
| `mail-dane-rollover` | Checks that the mail servers (MX) of the site domain publish at least two TLSA records so DANE survives a certificate rollover. | Email security (also DNS and network) | `internetnl`, `email`, `dns`, `tls` |
|
|
240
|
+
| `mail-dkim` | Requires the DKIM selectors given in the options to have valid key records under the site domain. | Email security | `internetnl`, `email`, `dns` |
|
|
241
|
+
| `mail-dmarc` | Requires the site domain to publish a valid DMARC record with a policy other than none and valid report addresses. | Email security | `internetnl`, `email`, `dns` |
|
|
242
|
+
| `mail-dnssec` | Requires the site domain and the domains of its mail servers (MX) to be DNSSEC signed with a valid signature. | Email security (also DNS and network) | `internetnl`, `email`, `dns` |
|
|
243
|
+
| `mail-ipv6` | Requires the mail servers (MX) of the site domain to have IPv6 addresses that are reachable on port 25. | Email security (also DNS and network) | `internetnl`, `email`, `dns` |
|
|
244
|
+
| `mail-ns-rpki-exists` | Requires an RPKI Route Origin Authorisation to be published for every IP address of the name servers of the mail servers (MX). | Email security (also DNS and network) | `internetnl`, `email`, `dns` |
|
|
245
|
+
| `mail-ns-rpki-valid` | Requires the route announcements of the IP addresses of the name servers of the mail servers (MX) to be RPKI valid. | Email security (also DNS and network) | `internetnl`, `email`, `dns` |
|
|
246
|
+
| `mail-rpki` | Requires the routes of the IP addresses of the mail servers (MX) to be covered by valid RPKI Route Origin Authorisations. | Email security (also DNS and network) | `internetnl`, `email`, `dns` |
|
|
247
|
+
| `mail-spf` | Requires the site domain to have a valid SPF record within the 10 lookup limit that ends in -all or ~all. | Email security | `internetnl`, `email`, `dns` |
|
|
248
|
+
| `mail-starttls` | Requires the mail servers (MX) of the site domain to offer STARTTLS, negotiate TLS 1.2 or 1.3 and present a valid certificate. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
249
|
+
| `mail-tls-cipher-order` | Requires the mail servers (MX) of the site domain to enforce their own preference for the most secure cipher suites. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
250
|
+
| `mail-tls-ciphers` | Requires the mail servers (MX) of the site domain to accept only secure (good or sufficient) cipher suites over STARTTLS. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
251
|
+
| `mail-tls-compression` | Requires the mail servers (MX) of the site domain not to support TLS compression. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
252
|
+
| `mail-tls-ems` | Requires the mail servers (MX) of the site domain to support the TLS 1.2 Extended Master Secret (RFC 7627). | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
253
|
+
| `mail-tls-kex-hash` | Requires the mail servers (MX) not to sign the TLS key exchange with weak hash functions (SHA-1, SHA-224). | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
254
|
+
| `mail-tls-kex-params` | Requires the ephemeral Diffie-Hellman parameters (DH size, EC curves) of the mail servers (MX) to be secure. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
255
|
+
| `mail-tls-ocsp-stapling` | Checks that the mail servers (MX) staple an OCSP response when their certificate has an OCSP pointer. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
256
|
+
| `mail-tls-renegotiation-client` | Checks that the mail servers (MX) of the site domain do not allow unlimited client-initiated renegotiation. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
257
|
+
| `mail-tls-renegotiation-secure` | Requires the mail servers (MX) of the site domain to support secure renegotiation (RFC 5746). | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
258
|
+
| `mail-tls-version` | Requires the mail servers (MX) of the site domain to accept only secure TLS versions (TLS 1.3 and TLS 1.2) over STARTTLS. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
259
|
+
| `mail-tls-zero-rtt` | Requires the mail servers (MX) of the site domain not to accept TLS 1.3 0-RTT early data. | Email security (also HTTPS and certificates) | `internetnl`, `email`, `tls` |
|
|
260
|
+
| `manifest-icons` | Checks the manifest declares a 192x192 and a 512x512 PNG icon. | Progressive Web App (also Link previews and icons) | `w3c`, `pwa` |
|
|
261
|
+
| `manifest-linked` | Requires a <link rel="manifest"> with an absolute href. | Progressive Web App (also Link previews and icons) | `w3c`, `pwa` |
|
|
262
|
+
| `manifest-valid` | Fetches the Web App Manifest and validates it against the W3C spec. | Progressive Web App | `w3c`, `pwa` |
|
|
263
|
+
| `mta-sts` | Requires the site mail domain to publish a valid MTA-STS TXT record and a matching HTTPS policy file. | Email security | `ietf`, `email`, `dns` |
|
|
264
|
+
| `nel` | Checks that the NEL header is valid JSON with a max_age and a report_to group. | Site protection (also Visitor privacy) | `mdn`, `security-headers` |
|
|
265
|
+
| `no-vary-search` | Checks that No-Vary-Search uses the recognised key-order, params or except keys. | Site protection | `mdn`, `security-headers` |
|
|
266
|
+
| `nodeinfo` | Validates the /.well-known/nodeinfo links document when present (Fediverse NodeInfo). | LLMs and AI | `original`, `agent` |
|
|
267
|
+
| `observe-browsing-topics` | Reports Topics API participation and validates the Observe-Browsing-Topics header. | Visitor privacy | `mdn`, `privacy` |
|
|
268
|
+
| `oembed-discovery` | Checks for an oEmbed <link rel="alternate" type="application/json+oembed"> with an href. | Link previews and icons | `oembed`, `social` |
|
|
269
|
+
| `opengraph-description-could-be-longer` | Flags an og:description of 50 to 70 characters. | Link previews and icons | `opengraph`, `social`, `seo` |
|
|
270
|
+
| `opengraph-description-is-url` | Flags an og:description that starts with a URL. | Link previews and icons | `opengraph`, `social`, `seo` |
|
|
271
|
+
| `opengraph-description-keyword-stuffing` | Flags an og:description that repeats the same word excessively. | Link previews and icons | `opengraph`, `social`, `seo` |
|
|
272
|
+
| `opengraph-description-missing` | Requires an og:description meta tag. | Link previews and icons (also Search and page quality) | `opengraph`, `social`, `seo`, `roctify` |
|
|
273
|
+
| `opengraph-description-same-as-title` | Flags an og:description identical to the og:title. | Link previews and icons | `opengraph`, `social`, `seo` |
|
|
274
|
+
| `opengraph-description-slightly-long` | Flags an og:description of 161 to 200 characters. | Link previews and icons | `opengraph`, `social`, `seo` |
|
|
275
|
+
| `opengraph-description-too-long` | Flags an og:description of more than 160 characters. | Link previews and icons | `opengraph`, `social`, `seo` |
|
|
276
|
+
| `opengraph-description-too-short` | Flags an og:description shorter than 50 characters. | Link previews and icons | `opengraph`, `social`, `seo` |
|
|
277
|
+
| `opengraph-image-alt-missing` | Requires og:image:alt next to og:image. | Link previews and icons (also Search and page quality) | `opengraph`, `social`, `seo` |
|
|
278
|
+
| `opengraph-image-broken` | Requires the og:image URL to return an image. | Link previews and icons | `opengraph`, `social` |
|
|
279
|
+
| `opengraph-image-dimensions-missing` | Requires og:image:width and og:image:height next to og:image. | Link previews and icons | `opengraph`, `social` |
|
|
280
|
+
| `opengraph-image-dimensions-too-large` | Flags an og:image over 4096 pixels on a side. | Link previews and icons | `opengraph`, `social` |
|
|
281
|
+
| `opengraph-image-missing` | Requires an og:image meta tag. | Link previews and icons | `opengraph`, `social`, `roctify` |
|
|
282
|
+
| `opengraph-image-non-optimal-size` | Flags an og:image that is not 1200x630 pixels (1.91:1). | Link previews and icons | `opengraph`, `social` |
|
|
283
|
+
| `opengraph-image-not-https` | Requires the og:image URL to use HTTPS. | Link previews and icons | `opengraph`, `social` |
|
|
284
|
+
| `opengraph-image-too-large` | Flags an og:image over WhatsApp's 500 KB limit. | Link previews and icons | `opengraph`, `social` |
|
|
285
|
+
| `opengraph-image-too-small` | Flags an og:image below the minimum size of social platforms. | Link previews and icons | `opengraph`, `social` |
|
|
286
|
+
| `opengraph-locale-missing` | Requires an og:locale meta tag. | Link previews and icons | `opengraph`, `social` |
|
|
287
|
+
| `opengraph-site-name-missing` | Requires an og:site_name meta tag. | Link previews and icons | `opengraph`, `social` |
|
|
288
|
+
| `opengraph-title-missing` | Requires an og:title meta tag. | Link previews and icons (also Search and page quality) | `opengraph`, `social`, `seo`, `roctify` |
|
|
289
|
+
| `opengraph-title-too-long` | Requires og:title to be 60 characters or fewer. | Link previews and icons | `opengraph`, `social`, `seo` |
|
|
290
|
+
| `opengraph-title-too-short` | Flags an og:title shorter than 15 characters. | Link previews and icons | `opengraph`, `social`, `seo` |
|
|
291
|
+
| `opengraph-type-missing` | Requires an og:type meta tag. | Link previews and icons | `opengraph`, `social` |
|
|
292
|
+
| `opengraph-url-missing` | Requires an og:url meta tag. | Link previews and icons | `opengraph`, `social`, `seo`, `roctify` |
|
|
293
|
+
| `opensearch-discovery` | Checks for an OpenSearch <link rel="search" type="application/opensearchdescription+xml">. | Link previews and icons (also Search and page quality) | `opensearch`, `social` |
|
|
294
|
+
| `opensearch-valid` | Fetches the discovered OpenSearch description and checks it is well-formed. | Link previews and icons (also Search and page quality) | `opensearch`, `social` |
|
|
295
|
+
| `origin-agent-cluster` | Recommends Origin-Agent-Cluster: ?1 and reports any other value of the header. | Site protection | `mdn`, `security-headers` |
|
|
296
|
+
| `pagination-rel` | Reports rel=prev/rel=next links with a missing or non-absolute URL. | Search and page quality | `mdn`, `seo` |
|
|
297
|
+
| `permissions-policy` | Requires the Permissions-Policy header to disable the browser features listed by OWASP. | Site protection | `owasp`, `security-headers` |
|
|
298
|
+
| `pingback` | Flags a Pingback endpoint as a legacy spam/amplification risk when present. | Link previews and icons (also Site protection) | `original`, `social` |
|
|
299
|
+
| `privacy-cookies` | Counts first-party and third-party cookies set by responses and by script. | Visitor privacy | `webbkoll`, `privacy` |
|
|
300
|
+
| `privacy-geolocation` | Finds inline and loaded scripts that use the Geolocation API. | Visitor privacy | `original`, `privacy` |
|
|
301
|
+
| `privacy-insecure-first-party` | Finds requests to the page’s own domain that use http although the page uses https. | HTTPS and certificates (also Visitor privacy) | `webbkoll`, `privacy`, `security-headers` |
|
|
302
|
+
| `privacy-local-storage` | Reports data the page stores in localStorage. | Visitor privacy | `webbkoll`, `privacy` |
|
|
303
|
+
| `privacy-mixed-content` | Finds insecure subresources loaded by a page served over https. | HTTPS and certificates (also Visitor privacy, Site protection) | `webbkoll`, `privacy`, `security-headers`, `roctify` |
|
|
304
|
+
| `privacy-policy-link-missing` | Warns when the page links to no privacy policy. | Visitor privacy | `google`, `privacy` |
|
|
305
|
+
| `privacy-third-party-requests` | Lists requests to hosts outside the page’s registrable domain, by host and type. | Visitor privacy | `webbkoll`, `privacy` |
|
|
306
|
+
| `public-key-pins` | Reports the deprecated Public-Key-Pins header when it is sent. | Site protection | `owasp`, `security-headers` |
|
|
307
|
+
| `redirection` | Checks that http:// redirects to https:// on the same host before any other redirect. | HTTPS and certificates (also Site protection) | `observatory`, `internetnl`, `security-headers`, `roctify` |
|
|
308
|
+
| `referrer-policy` | Checks that a Referrer-Policy is set and does not leak the full URL to other sites. | Visitor privacy (also Site protection) | `observatory`, `owasp`, `webbkoll`, `internetnl`, `security-headers`, `privacy` |
|
|
309
|
+
| `rel-me` | Reports rel=me identity links and warns when one has no target (IndieWeb). | Link previews and icons | `indieweb`, `social` |
|
|
310
|
+
| `reporting-endpoints` | Checks that Reporting-Endpoints maps endpoint names to quoted absolute https URLs. | Site protection | `mdn`, `security-headers` |
|
|
311
|
+
| `repr-digest` | Validates the Repr-Digest header as an RFC 9530 digest dictionary when present. | Site protection | `mdn`, `security-headers` |
|
|
312
|
+
| `retry-after` | Checks that Retry-After is a valid delay on a 429 or 503 response. | Site protection | `mdn`, `security-headers` |
|
|
313
|
+
| `richresults-article` | Validates Article/NewsArticle/BlogPosting JSON-LD against Google rich-results recommended properties. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
314
|
+
| `richresults-breadcrumb` | Validates BreadcrumbList JSON-LD (itemListElement with position and item/name) against Google rich-results rules. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
315
|
+
| `richresults-event` | Validates Event JSON-LD (name, startDate, location) against Google rich-results rules. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
316
|
+
| `richresults-jobposting` | Validates JobPosting JSON-LD (title, description, datePosted, hiringOrganization, jobLocation) against Google rich-results rules. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
317
|
+
| `richresults-localbusiness` | Validates LocalBusiness JSON-LD (name, address) against Google rich-results required and recommended properties. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
318
|
+
| `richresults-product` | Validates Product JSON-LD (name, image, offers, review, aggregateRating) against Google rich-results rules. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
319
|
+
| `richresults-recipe` | Validates Recipe JSON-LD against Google rich-results required and recommended properties. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
320
|
+
| `richresults-review` | Validates Review/AggregateRating JSON-LD (itemReviewed, reviewRating with ratingValue) against Google rich-results rules. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
321
|
+
| `richresults-video` | Validates VideoObject JSON-LD (name, thumbnailUrl, uploadDate) against Google rich-results rules. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
322
|
+
| `richresults-website-searchaction` | Validates WebSite SearchAction JSON-LD (target and query-input) for the sitelinks search box. | Search and page quality (also LLMs and AI) | `google`, `seo` |
|
|
323
|
+
| `robots-txt` | Checks that robots.txt follows RFC 9309, including Content-Signal lines. | LLMs and AI (also Search and page quality) | `files`, `seo`, `agent`, `roctify` |
|
|
324
|
+
| `rpki-ns-exists` | Requires an RPKI ROA to be published for every IP address of the name servers. | DNS and network | `internetnl`, `dns` |
|
|
325
|
+
| `rpki-ns-valid` | Requires the route announcements of the name server IP addresses to be RPKI valid. | DNS and network | `internetnl`, `dns` |
|
|
326
|
+
| `rpki-web-exists` | Requires an RPKI ROA to be published for every IP address of the web server. | DNS and network | `internetnl`, `dns` |
|
|
327
|
+
| `rpki-web-valid` | Requires the route announcements of the web server IP addresses to be RPKI valid. | DNS and network | `internetnl`, `dns` |
|
|
328
|
+
| `security-txt` | Checks that /.well-known/security.txt follows RFC 9116. | Site protection | `files`, `internetnl`, `security-headers` |
|
|
329
|
+
| `sellers-json` | Checks that /sellers.json follows the IAB Tech Lab sellers.json 1.0 spec. | Search and page quality | `iab`, `seo` |
|
|
330
|
+
| `seo-canonical-mismatch` | Reports a canonical URL that differs from the page URL. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
331
|
+
| `seo-canonical-missing` | Reports pages without <link rel="canonical">. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
332
|
+
| `seo-content-length` | Warns when the page has fewer than 300 words of text. | Search and page quality | `roctify`, `seo` |
|
|
333
|
+
| `seo-deprecated-html` | Warns when the page uses obsolete HTML elements. | Search and page quality | `roctify`, `seo` |
|
|
334
|
+
| `seo-h1-missing` | Warns when the page has no <h1> heading. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
335
|
+
| `seo-h1-multiple` | Reports pages with more than one <h1>. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
336
|
+
| `seo-html-lang-missing` | Warns when <html> has no lang attribute. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
337
|
+
| `seo-http-status` | Reports a page whose HTTP status is not 200. | Search and page quality | `roctify`, `seo` |
|
|
338
|
+
| `seo-keywords-frequent` | Lists the most frequent keywords of the page text. | Search and page quality | `roctify`, `seo` |
|
|
339
|
+
| `seo-keywords-in-title` | Warns when none of the most frequent keywords of the page is in the title. | Search and page quality | `roctify`, `seo` |
|
|
340
|
+
| `seo-link-anchor-text` | Warns about links with no text or with generic text. | Search and page quality | `roctify`, `seo` |
|
|
341
|
+
| `seo-links` | Warns when the page has no links or no internal links. | Search and page quality | `roctify`, `seo` |
|
|
342
|
+
| `seo-meta-description-missing` | Requires a <meta name="description"> tag. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
343
|
+
| `seo-meta-description-too-long` | Reports a meta description longer than 160 characters. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
344
|
+
| `seo-meta-description-too-short` | Reports a meta description shorter than 50 characters. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
345
|
+
| `seo-responsive-images` | Warns when most images have no srcset or picture element. | Search and page quality | `roctify`, `seo` |
|
|
346
|
+
| `seo-robots-nofollow` | Reports when the robots meta tag contains nofollow. | Search and page quality | `opengraph`, `seo` |
|
|
347
|
+
| `seo-robots-noindex` | Warns when the robots meta tag contains noindex. | Search and page quality (also LLMs and AI) | `opengraph`, `seo`, `roctify` |
|
|
348
|
+
| `seo-structured-data-missing` | Reports pages without a JSON-LD block. | Search and page quality (also LLMs and AI) | `opengraph`, `seo`, `roctify` |
|
|
349
|
+
| `seo-title-missing` | Requires a non-empty <title> element in the head. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
350
|
+
| `seo-title-too-long` | Warns when the <title> is longer than 70 characters. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
351
|
+
| `seo-title-too-short` | Reports a <title> shorter than 10 characters. | Search and page quality | `opengraph`, `seo`, `roctify` |
|
|
352
|
+
| `seo-url-friendly` | Warns when the URL is long, upper case, has underscores, encoded characters, many levels or many parameters. | Search and page quality | `roctify`, `seo` |
|
|
353
|
+
| `seo-viewport` | Requires a viewport meta tag with width=device-width that allows zooming. | Search and page quality | `roctify`, `seo` |
|
|
354
|
+
| `server-banner` | Reports when the Server header discloses a software version or operating system. | Site protection | `mdn`, `security-headers`, `roctify` |
|
|
355
|
+
| `server-timing` | Reports the Server-Timing header, which can expose backend metric names and timings. | Site protection | `mdn`, `security-headers` |
|
|
356
|
+
| `service-worker-allowed` | Validates that the Service-Worker-Allowed header is a path or absolute URL when present. | Site protection | `mdn`, `security-headers` |
|
|
357
|
+
| `set-login` | Validates that the FedCM Set-Login header is logged-in or logged-out when present. | Site protection | `mdn`, `security-headers` |
|
|
358
|
+
| `sourcemap` | Reports the SourceMap or X-SourceMap header, which exposes source maps to every client. | Site protection | `mdn`, `security-headers` |
|
|
359
|
+
| `speculation-rules` | Validates that the Speculation-Rules header lists quoted ruleset URLs when present. | Site protection | `mdn`, `security-headers` |
|
|
360
|
+
| `supports-loading-mode` | Validates the Supports-Loading-Mode tokens (credentialed-prerender, fenced-frame) when present. | Site protection | `mdn`, `security-headers` |
|
|
361
|
+
| `tabnabbing` | Checks that cross-origin target="_blank" links set rel="noopener". | Site protection | `owasp`, `security-headers` |
|
|
362
|
+
| `technical-asset-count` | Warns about many external scripts or stylesheets and render-blocking scripts. | Search and page quality | `roctify`, `seo` |
|
|
363
|
+
| `technical-canonical-invalid` | Requires the canonical link href to be a valid URL, absolute or relative. | Search and page quality | `llmscout`, `seo` |
|
|
364
|
+
| `technical-heading-hierarchy` | Warns when a heading jumps down more than one level, such as an h2 followed by an h4. | Search and page quality | `llmscout`, `seo`, `roctify` |
|
|
365
|
+
| `technical-html-size` | Warns when the HTML document is larger than 200 KB. | Search and page quality | `roctify`, `seo` |
|
|
366
|
+
| `technical-image-alt-coverage` | Checks that img elements carry an alt attribute (warns from 80% coverage, errors below). | Search and page quality (also LLMs and AI) | `llmscout`, `seo`, `roctify` |
|
|
367
|
+
| `technical-image-formats` | Warns when images ship only as JPEG, PNG or GIF. | Search and page quality | `roctify`, `seo` |
|
|
368
|
+
| `technical-image-weight` | Warns when an image is over 200 KB and errors when it is over 500 KB. | Search and page quality | `llmscout`, `seo` |
|
|
369
|
+
| `technical-lazy-loading` | Warns when images and iframes after the first two have no loading="lazy". | Search and page quality | `roctify`, `seo` |
|
|
370
|
+
| `technical-redirect-chain` | Warns about long redirect chains and chains ending in an error. | Search and page quality (also HTTPS and certificates) | `llmscout`, `seo` |
|
|
371
|
+
| `technical-response-time` | Warns when the first response took more than 600 ms. | Search and page quality | `roctify`, `seo` |
|
|
372
|
+
| `technical-robots-meta-advanced` | Warns when the robots meta tag lacks max-snippet, max-image-preview or max-video-preview. | Search and page quality (also LLMs and AI) | `llmscout`, `seo` |
|
|
373
|
+
| `technical-twitter-card-type` | Requires twitter:card to be summary, summary_large_image, app or player. | Link previews and icons (also Search and page quality) | `llmscout`, `seo`, `social` |
|
|
374
|
+
| `terms-of-service-link-missing` | Warns when the page links to no terms of service. | Visitor privacy | `google`, `privacy` |
|
|
375
|
+
| `theme-color-meta` | Recommends a <meta name="theme-color"> on the page. | Progressive Web App | `w3c`, `pwa` |
|
|
376
|
+
| `timing-allow-origin` | Reports Timing-Allow-Origin: * and malformed origins in the timing-exposure list. | Visitor privacy (also Site protection) | `mdn`, `security-headers`, `privacy` |
|
|
377
|
+
| `tls-cipher-order` | Requires the HTTPS server to enforce its own preference for the most secure cipher suites. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
378
|
+
| `tls-ciphers` | Requires the HTTPS server to accept only secure (good or sufficient) cipher suites. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
379
|
+
| `tls-compression` | Requires the HTTPS server not to support TLS compression. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
380
|
+
| `tls-ems` | Requires the HTTPS server to support the TLS 1.2 Extended Master Secret (RFC 7627). | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
381
|
+
| `tls-kex-hash` | Requires the HTTPS server not to sign the TLS key exchange with weak hash functions (SHA-1, SHA-224). | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
382
|
+
| `tls-kex-params` | Requires the ephemeral Diffie-Hellman parameters of the HTTPS server (DH size, EC curves) to be secure. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
383
|
+
| `tls-ocsp-stapling` | Checks that the HTTPS server staples an OCSP response when its certificate has an OCSP pointer. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
384
|
+
| `tls-renegotiation-client` | Checks that the HTTPS server does not allow unlimited client-initiated renegotiation. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
385
|
+
| `tls-renegotiation-secure` | Requires the HTTPS server to support secure renegotiation (RFC 5746). | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
386
|
+
| `tls-rpt` | Requires the site mail domain to publish a valid TLS-RPT record with a report destination. | Email security | `ietf`, `email`, `dns` |
|
|
387
|
+
| `tls-version` | Requires the HTTPS server to accept only secure TLS versions (TLS 1.3 and TLS 1.2). | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
388
|
+
| `tls-zero-rtt` | Requires the HTTPS server not to accept TLS 1.3 0-RTT early data. | HTTPS and certificates | `internetnl`, `tls`, `security-headers` |
|
|
389
|
+
| `twitter-card-missing` | Requires a twitter:card meta tag. | Link previews and icons | `opengraph`, `social`, `roctify` |
|
|
390
|
+
| `twitter-card-not-large` | Suggests summary_large_image instead of summary. | Link previews and icons | `opengraph`, `social` |
|
|
391
|
+
| `twitter-description-missing` | Requires a twitter:description meta tag. | Link previews and icons | `opengraph`, `social` |
|
|
392
|
+
| `twitter-image-missing` | Requires a twitter:image meta tag. | Link previews and icons | `opengraph`, `social` |
|
|
393
|
+
| `twitter-site-missing` | Requires a twitter:site meta tag. | Link previews and icons | `opengraph`, `social` |
|
|
394
|
+
| `twitter-title-missing` | Requires a twitter:title meta tag. | Link previews and icons | `opengraph`, `social` |
|
|
395
|
+
| `use-as-dictionary` | Validates the Use-As-Dictionary compression-dictionary header, requiring a match pattern, when present. | Site protection | `mdn`, `security-headers` |
|
|
396
|
+
| `vary` | Reports Vary: * and a wildcard mixed with named headers, which defeat shared caching. | Site protection | `mdn`, `security-headers` |
|
|
397
|
+
| `via` | Reports when the Via header names the proxy or gateway software in front of the site. | Site protection | `mdn`, `security-headers` |
|
|
398
|
+
| `webfinger` | Probes /.well-known/webfinger and reports its format when present (RFC 7033). | LLMs and AI | `ietf`, `agent` |
|
|
399
|
+
| `webmention` | Reports a Webmention endpoint and warns when it is not an absolute URL (W3C Webmention). | Link previews and icons | `w3c`, `social` |
|
|
400
|
+
| `x-content-type-options` | Requires the X-Content-Type-Options header to be nosniff. | Site protection | `observatory`, `roctify`, `security-headers` |
|
|
401
|
+
| `x-dns-prefetch-control` | Requires the X-DNS-Prefetch-Control header to be set to off. | Visitor privacy (also Site protection) | `owasp`, `security-headers`, `privacy` |
|
|
402
|
+
| `x-frame-options` | Checks that the page cannot be framed by other sites, with X-Frame-Options or CSP frame-ancestors. | Site protection | `observatory`, `owasp`, `webbkoll`, `internetnl`, `security-headers`, `roctify` |
|
|
403
|
+
| `x-permitted-cross-domain-policies` | Requires the X-Permitted-Cross-Domain-Policies header to be set to none. | Site protection | `owasp`, `security-headers` |
|
|
404
|
+
| `x-powered-by` | Reports the X-Powered-By header, which reveals the technology stack to no benefit. | Site protection | `mdn`, `security-headers` |
|
|
405
|
+
| `x-xss-protection` | Reports the deprecated X-XSS-Protection header when it is sent. | Site protection | `owasp`, `webbkoll`, `security-headers` |
|
|
406
|
+
|
|
407
|
+
## Licence
|
|
408
|
+
|
|
409
|
+
Apache-2.0
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"connector": {
|
|
3
|
+
"name": "puppeteer"
|
|
4
|
+
},
|
|
5
|
+
"parsers": ["html"],
|
|
6
|
+
"hints": {
|
|
7
|
+
"@mridang/webhint-hint-plumbline/agent-a2a-agent-card": "default",
|
|
8
|
+
"@mridang/webhint-hint-plumbline/agent-acp": "default",
|
|
9
|
+
"@mridang/webhint-hint-plumbline/agent-ai-bot-rules": "default",
|
|
10
|
+
"@mridang/webhint-hint-plumbline/agent-api-catalog": "default",
|
|
11
|
+
"@mridang/webhint-hint-plumbline/agent-ard": "default",
|
|
12
|
+
"@mridang/webhint-hint-plumbline/agent-auth-md": "default",
|
|
13
|
+
"@mridang/webhint-hint-plumbline/agent-content-signals": "default",
|
|
14
|
+
"@mridang/webhint-hint-plumbline/agent-dns-aid": "default",
|
|
15
|
+
"@mridang/webhint-hint-plumbline/agent-link-headers": "default",
|
|
16
|
+
"@mridang/webhint-hint-plumbline/agent-markdown-negotiation": "default",
|
|
17
|
+
"@mridang/webhint-hint-plumbline/agent-mcp-server-card": "default",
|
|
18
|
+
"@mridang/webhint-hint-plumbline/agent-mpp": "default",
|
|
19
|
+
"@mridang/webhint-hint-plumbline/agent-oauth-discovery": "default",
|
|
20
|
+
"@mridang/webhint-hint-plumbline/agent-oauth-protected-resource": "default",
|
|
21
|
+
"@mridang/webhint-hint-plumbline/agent-poppy": "default",
|
|
22
|
+
"@mridang/webhint-hint-plumbline/agent-robots-txt": "default",
|
|
23
|
+
"@mridang/webhint-hint-plumbline/agent-score": "default",
|
|
24
|
+
"@mridang/webhint-hint-plumbline/agent-sitemap": "default",
|
|
25
|
+
"@mridang/webhint-hint-plumbline/agent-skills": "default",
|
|
26
|
+
"@mridang/webhint-hint-plumbline/agent-ucp": "default",
|
|
27
|
+
"@mridang/webhint-hint-plumbline/agent-web-bot-auth": "default",
|
|
28
|
+
"@mridang/webhint-hint-plumbline/agent-webmcp": "default",
|
|
29
|
+
"@mridang/webhint-hint-plumbline/agent-x402": "default"
|
|
30
|
+
}
|
|
31
|
+
}
|