1001Ferramentas
📋 Security

Password Policy Batch Auditor

Tests a list of passwords against the policy you define, showing which fail, which rules they break and the equivalent regex.

Nothing leaves your browser. The audit runs in this page with JavaScript only: no upload, no request, no storage. The report shows a mask (first two characters, length, last two) and never the full password. Even so, prefer test values or passwords that are already being rotated.

Policy

Matched anywhere inside the password, ignoring case and accents.

How each rule is applied

Character classes are ASCII, the same ones the generated regex uses: [a-z], [A-Z], [0-9] and everything else as symbol. A space counts as a symbol and an accented letter falls under symbol too, so the audit and the regex never disagree about the same password. Length is counted in UTF-16 units, matching what .{min,max} does.

A sequence is any run of three characters that walks the alphabet or the digits one step at a time, up or down, plus any three keys side by side on a QWERTY row — qwe and ewq both trip it. The repeat rule looks for the same character three times in a row. NIST 800-63B asks for a length floor and a denylist of known-bad values; composition rules beyond that are optional, so leave the boxes you do not enforce unchecked instead of auditing against a stricter policy than the real one.

Test a list of passwords against your company policy

A password policy usually lives in a document and, somewhere else, in a form field that accepts far more than the document says. This auditor brings the two together: tick what you enforce, paste the test passwords one per line and read the verdict for each one, with the broken rules spelled out. A summary closes the report with the pass count and the rules that knocked out the most passwords.

Character classes match the generated regex: lowercase, uppercase, digit and everything else as a symbol. A sequence is any run of three characters walking the alphabet or the digits one step at a time, in either direction, plus three keys side by side on a QWERTY row. The repeat rule looks for the same character three times over. The denylist compares without case or accents, so Acme catches acme.

The regex comes out ready to paste into backend validation, with one lookahead per required class and the length quantifier at the end. It covers those two things and no more: denylist, sequences, repeats and the minimum-class counter stay outside, since they would turn into unreadable expressions. Keep those four checks in code, right next to the regex, so nobody has to guess where they live.

Frequently asked questions

Do the pasted passwords leave the browser?
No. The audit runs in JavaScript on this page, with no upload, no network call and nothing stored. The copyable report is assembled here too. Even so, the safe habit is to audit test values or passwords already being rotated, never live production credentials.
Why is the password truncated in the table?
So the screen and the copied report do not become a credential list. The mask shows the first two characters, the length and the last two, enough for you to find the line in your original source. Passwords under eight characters are hidden entirely, because two ends would already be most of the secret.
Is the generated regex enough as validation?
It settles length and required classes, which is the tedious part to write by hand. The remaining rules need code: comparing against the forbidden word list, looking for sequences and repeats, and counting how many distinct classes showed up. Note also that the regex treats an accented letter as a symbol, exactly as this page does.

Related Tools