TTS voices
GET /api/fingerprint/speech-voicesSpeech synthesis voice fingerprinting enumerates text-to-speech (TTS) voices available through the SpeechSynthesis API (window.speechSynthesis.getVoices()). Operating systems ship with different default voice sets: macOS includes dozens of high-quality voices in multiple languages, Windows provides Microsoft's Speech Platform voices, Android includes Google TTS voices, and Linux typically has minimal or no preinstalled voices. Users who install additional language packs, accessibility features, or third-party TTS engines expose even more distinctive voice configurations. Each voice object reveals the voice name, language (BCP 47 code), whether it's local or remote, URI, and whether it's the default voice. The combination of available voices, their languages, and their order creates a highly distinctive fingerprint. For example, a system with voices in English, Mandarin, and Spanish suggests a trilingual user or organization, while extensive language coverage might indicate a developer or translator. Voice availability also correlates strongly with OS and OS version: macOS Monterey includes voices that macOS Big Sur lacks, Windows 11 adds natural neural voices absent in Windows 10. The technique requires no permissions and executes silently, making it difficult for users to detect. Privacy browsers typically return an empty or normalized voice list, but this itself becomes a fingerprinting signal since most browsers expose numerous voices by default.
Move from this collector to the CreepJS signal index, live checker, API docs, and other high-value fingerprinting explainers.