Check if your password was exposed in known data breaches — anonymously and privately
crypto.subtle.digest('SHA-1', ...) in your browser. First 5 hex chars sent to api.pwnedpasswords.com/range/{prefix}. Response contains ~500 hash suffixes checked locally. Zero privacy risk.
PassKit.in uses the HaveIBeenPwned Pwned Passwords API with k-anonymity — a privacy model that makes it mathematically impossible for the server to learn which password you checked. Here is exactly what happens when you click "Check Password":
5BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8)5BAA6) are sent to the HIBP API over HTTPS5BAA6 — typically 400–900 resultsK-anonymity is a privacy concept where a query is indistinguishable from at least k−1 other queries. In the HIBP model, sending only 5 hex characters means your query matches approximately 500 other hashes — the API cannot determine which of those 500 you care about. This technique was designed by Troy Hunt (creator of HIBP) and Cloudflare researchers, and is endorsed by NCSC (UK), Microsoft, and security researchers worldwide.
SHA-1 (Secure Hash Algorithm 1) is a cryptographic hash function that converts any input into a fixed 40-character hexadecimal string. It is a one-way function — you cannot reverse a SHA-1 hash to obtain the original password. PassKit.in uses the browser's native crypto.subtle.digest('SHA-1', ...) — no external library required. While SHA-1 is deprecated for digital signatures, it remains appropriate for this HIBP lookup use case.
A result showing your password appeared in breaches means that exact password string has been exposed in at least one known data breach and is now in attacker databases. You should change that password immediately on every account where you use it. Use PassKit.in's password generator to create a new, unique password for each account, and store them in a password manager.
crypto.subtle.digest(), and only 5 of the resulting 40 characters are sent over the network. It is mathematically impossible to recover your original password from 5 hex characters out of context.