npmjs.com
HTTPS & TLS
100/100A+- HTTPS certificateGoogle Trust Services10/10
HTTPS with a valid certificate from Google Trust Services.
- Certificate expiry574/4
The certificate is valid for another 57 days.
- TLS versionTLS 1.34/4
Negotiates TLS 1.3, the current protocol: faster handshakes, forward secrecy always.
- Old protocols3/3
Refuses the retired TLS 1.0 and 1.1.
- Key strengthECDSA P-2562/2
A strong key: ECDSA P-256.
- HTTP → HTTPS3013/3
http:// redirects straight to https://.
- HSTS1 year · preload4/4
HSTS tells browsers to use HTTPS only, for 1 year.
- HTTP/2 and HTTP/3HTTP/22/2
HTTP/2.
DNS
79/100B- DNSSEC0/3
Not signed with DNSSEC: a forged DNS answer for the domain cannot be told from the real one.
- Name servers24/4
2 name servers for the domain.
- Name servers answer2/25/5
Every name server answers for the domain, with the same version of the zone.
- CAA recordsletsencrypt.org, pki.goog, sectigo.com, ssl.com, comodoca.com, digicert.com2/2
CAA records name the authorities allowed to issue its certificates.
- DMARCquarantine (pct=5)4/7
DMARC sends mail that fakes the domain to spam (p=quarantine (pct=5)).
- MTA-STS0/2
No MTA-STS: mail to the domain can be read in transit by stripping its encryption.
- TLS reporting0/0.5
No TLS reporting: failed encrypted deliveries go unnoticed.
- SPF~all4/5
SPF lists the servers allowed to send its mail and marks the rest as suspicious (~all).
- DKIMgoogle2/2
A DKIM key is published (selector google), so its mail can be signed.
Web & network
100/100A+- Security headers
The website answered 403 to the check (bot protection, most likely), so its headers are not graded.
- IPv64/4
www.npmjs.com is reachable over IPv6 as well as IPv4.
- RPKIvalid4/4
The route to the website is RPKI-valid: networks can reject hijacked announcements of it.
Dependencies
60/100D- DNS providersCloudflare3/5
All DNS is with one provider (Cloudflare): an outage there takes the domain offline, as Dyn's did in 2016.
- One company for everythingCloudflare: website, DNS3/5
Cloudflare runs both the website and the DNS: one outage there takes both down.
Who runs it
- Website
- Cloudflare
- DNS
- Cloudflare
- Google Workspace
Routes
- 104.17.128.0/20AS13335RPKI valid
- 2606:4700::/44AS13335RPKI valid
Name servers
- bayan.ns.cloudflare.comCloudflareAS13335
- sandy.ns.cloudflare.comCloudflareAS13335
README badge
Show the grade in your README or docs; it updates when the domain is graded again.
[](https://skycisa.com/grade/npmjs.com)Compare with…
What is graded
A valid certificate (an invalid one means F), its expiry against its lifetime, TLS 1.3, no TLS 1.0/1.1 (else at most B), http:// sent straight to https://, HSTS, HTTP/2.
At least two name servers that all answer and agree, DNSSEC, CAA records, and a registration that is not about to expire.
SPF, a DMARC policy that rejects forgeries (none means at most B), MTA-STS and TLS reporting for domains that take mail, DKIM at common selectors.
Content Security Policy, nosniff, framing protection, Referrer- and Permissions-Policy, IPv6, and an RPKI-valid route (invalid means at most C).
DNS from more than one provider, and the website, DNS and email not all with one company.
A+ 95–100 · A 85–94 · B 75–84 · C 65–74 · D 50–64 · F below 50