Privacy Tools Guide

Privacy Risks of Voice Assistants Guide

Voice assistants listen continuously for wake words. That’s the design — there’s no other way to respond to “Hey Alexa” without the microphone being on and the audio being analyzed. The question isn’t whether they listen, but what happens to what they hear, when they get it wrong, and who else gets access.


How Voice Assistants Work

Wake word detection runs locally on the device. A small neural network listens 24/7 for the trigger phrase. When detected, it starts recording and sends audio to the cloud.

The problem: wake word detection is imperfect. False triggers happen regularly, and when they do, a clip of your conversation gets recorded and sent to company servers.

What gets sent to the cloud:

# You can see how often this happens by checking your history:

# Amazon Alexa — download voice history export:
# alexa.amazon.com → Settings → Alexa Privacy → Review Voice History

# Google Assistant:
# myactivity.google.com → Filter by: Assistant

# Apple Siri:
# Settings → Privacy → Analytics → Analytics Data → look for Siri logs

What the Companies Keep

Amazon Alexa

Amazon retains voice recordings indefinitely unless you delete them. Third-party Alexa Skills receive your voice data if you use them. Amazon uses recordings to train models — you can opt out, but it requires manual action.

Amazon employees and contractors review a small percentage of recordings for accuracy. This was confirmed in 2019 reporting: teams in the US, India, Romania, and other locations transcribe clips.

Data Amazon shares:

Google Assistant

Google’s privacy controls are more granular but the collection is broader. The Google Home ecosystem ties voice data to your Google account, which also knows your search history, location history, Gmail, and YouTube habits.

Google Audio History can be turned off, but the audio is still processed in the cloud — you’re just choosing not to have it associated with your account history.

Apple Siri

Apple doesn’t associate Siri recordings with your Apple ID — they use random identifiers. Since iOS 13.2, audio is processed on-device by default for most requests. Apple still sends some audio to servers, and contractors have reviewed Siri recordings (confirmed in 2019 reports).

Apple’s model is meaningfully better for privacy, but “better” doesn’t mean “private.”


Accidental Activations in Practice

Research published by Northeastern University found that smart speakers activate accidentally 1.5–19 times per day depending on model and ambient conditions. Common false triggers:

What happens during accidental activation:

  1. Device records ambient audio (conversations, TV, radio)
  2. Audio sent to cloud servers for processing
  3. Stored in your voice history
  4. Potentially reviewed by human contractors

Audit Your Existing Data

# Request your data from each company:

# Amazon Alexa data export
# Settings → Alexa Privacy → Manage Your Alexa Data → Request My Data
# You'll receive a zip with: voice history, smart home interactions,
# shopping lists, routines, contacts used

# Google data export
# takeout.google.com → deselect all → select "My Activity" →
# filter: Assistant, Home → Export

# Apple (iOS Settings → Privacy → Analytics & Improvements → Analytics Data)
# Look for files starting with "Siri"

Review your voice history and delete everything you don’t want retained:

#!/usr/bin/env python3
# Parse Amazon Alexa voice history export to find accidental activations
import json, os, sys

def analyze_alexa_history(filepath):
    with open(filepath) as f:
        data = json.load(f)

    total = len(data)
    # Accidental activations often have very short or empty transcripts
    accidental = [r for r in data if len(r.get('transcriptText', '')) < 5]

    print(f"Total recordings: {total}")
    print(f"Likely accidental (transcript < 5 chars): {len(accidental)}")
    print(f"Percentage: {len(accidental)/total*100:.1f}%")

    # Show sample of what was accidentally captured
    for r in accidental[:10]:
        print(f"  {r.get('recordedTimestamp', 'unknown')}: '{r.get('transcriptText', '')}'")

if __name__ == "__main__":
    analyze_alexa_history(sys.argv[1])

Practical Mitigation Steps

Hardware Mute Is the Only Real Mute

Software mute (via app or voice command) still processes the wake word — the microphone is still active. The physical mute button cuts power to the microphone circuit.

Alexa Echo: press the microphone button (orange ring = muted)
Google Nest: slide the mute switch (orange indicator)
Apple HomePod: no physical mute — use "Hey Siri, pause listening"

Get in the habit: mute the device when having private conversations, medical calls, or financial discussions near the device.

Delete Voice History Automatically

Amazon Alexa:
Settings → Alexa Privacy → Manage Your Alexa Data
→ "Don't save recordings" (choose duration)
→ Auto-delete recordings: after 3 months or 18 months

Google Home:
myaccount.google.com → Data & Privacy → Web & App Activity
→ Auto-delete: every 3 months

Apple Siri:
Settings → Siri & Search → "Delete Siri & Dictation History"

Opt Out of Human Review

Amazon: alexa.amazon.com → Settings → Alexa Privacy → "Help improve Alexa" → OFF
Google: myactivity.google.com → Activity Controls → "Include audio recordings" → OFF
Apple: Settings → Privacy → Analytics → "Improve Siri & Dictation" → OFF

Network-Level Blocking

You can block voice assistant cloud endpoints at the router level. This breaks functionality but is the only way to prevent cloud transmission:

# Block Alexa cloud endpoints via /etc/hosts or router DNS
# Amazon endpoints:
# unagi.amazon.com
# unagi-na.amazon.com
# dp-gw.amazon.com

# Add to Pi-hole custom list:
0.0.0.0 unagi.amazon.com
0.0.0.0 unagi-na.amazon.com
0.0.0.0 dp-gw.amazon.com

# This completely breaks Alexa responses — only local processing continues

Local Voice Assistants

If you want voice control without cloud dependency, local alternatives exist:

Home Assistant + Whisper (speech-to-text) + Piper (text-to-speech):

# Home Assistant Add-ons:
# - Whisper (OpenAI's Whisper model, runs locally)
# - Piper (neural TTS, runs locally)
# - openWakeWord (local wake word detection)

# Install via Home Assistant Add-on store
# Settings → Add-ons → Add-on Store → search "Whisper"

# This gives you local wake word detection + local STT + local TTS
# No audio leaves your network

Risk Summary

Feature Amazon Google Apple Local HA
Always-on mic Yes Yes Yes Yes
Audio to cloud Yes Yes Partial No
Linked to account Yes Yes No (random ID) No
Human review Yes (opt-out) Yes (opt-out) Yes (opt-out) No
Data sold Ad targeting Ad targeting No No
Law enforcement Yes Yes Yes N/A


Built by theluckystrike — More at zovo.one