Passwords

Encrypted Password Input Field

Passwords entered in standard inputs are visible to any JavaScript on the page. SmartField encrypts every character with AES-256-GCM. The DOM never contains the plaintext password.

The Problem

Passwords entered in a standard HTML input are immediately accessible to any JavaScript on the page:

// Any script, extension, or tracker: document.querySelector('input').value // Your passwords in plaintext

The Solution

<smart-field type="password" encrypt-key="/api/sf-key" placeholder="Enter passwords"></smart-field>

Now the same attack returns AES-256-GCM encrypted data. The passwords never exist as plaintext in the browser.

What the User Sees

The user types normally. The screen shows animated cipher characters: ΣΩΔψξλμπ

The real passwords are stored in a WeakMap (invisible to JavaScript) and encrypted with AES-256-GCM (unreadable without the server key).

Server-Side Decryption

// Node.js const sf = require('@smartfield-dev/server'); await sf.init(); const data = await sf.decrypt(req.body.field); // Your passwords in plaintext, server-side only

Frequently Asked Questions

How does SmartField encrypt passwords?+
SmartField generates a new AES-256 key and IV for every encryption. Passwords are encrypted before they exist in the DOM. The AES key is wrapped with RSA-2048. Only your server can decrypt.
Can trackers like Hotjar capture passwords?+
No. Hotjar records DOM content. SmartField stores passwords in a WeakMap inside a closed Shadow DOM. Hotjar only captures cipher characters.
What server languages are supported?+
SmartField provides SDKs for Node.js, Python, Java, Go, PHP, and Ruby. All tested and verified.

Related Pages

Try Live Demo