Handle Unicode text, emoji, encoding, normalization, code points, and safe storage.
Lessons
Prevent homograph and normalization attacks.
Unicode Security is easiest to learn by reading the example, changing it, and observing the result.
// "аpple" (Cyrillic а, U+0430) looks like "apple" (Latin a, U+0061)
const fake = 'аpple';
const real = 'apple';
console.log(fake === real); // false - homograph attack
// Defenses: normalize, restrict scripts, and strip invisible chars
const cleaned = fake
.normalize('NFKC')
.replace(/[\u200B-\u200D\uFEFF]/g, ''); // remove zero-width charsPractice the Unicode Security example in a small scratch file, then explain what changed and why.