Privacy Tools Guide

Remove a deceased person’s accounts from smart devices by accessing administrator settings, changing WiFi passwords to lock out cloud-linked devices, and reaching out to manufacturers (Google Home, Amazon Alexa, Apple HomeKit) with a death certificate to remove their account. For your own estate planning, document all smart device credentials and specify whether you want devices factory-reset or transferred to family members. Include smart device management instructions in your digital legacy planning.

Understanding the Challenge

Smart devices store authentication credentials, personal data, and cloud connections that persist after someone passes away. Unlike traditional devices, IoT gadgets often link to cloud services, making local deletion insufficient. The primary challenges include:

Platform-Specific Removal Methods

Google/Android Devices

For Android phones, tablets, and Google-connected devices, you need to remove the account through both device settings and Google’s inactive account manager.

Device-level removal:

# Using ADB to remove Google account (requires USB debugging enabled)
adb shell pm clear-data --user 0 com.google.android.gms
adb shell pm remove-user 10

Google Account Inactivity Manager:

  1. Visit Google Inactive Account Manager
  2. Set up a trusted contact who can manage the account after inactivity
  3. Configure what happens to the account data—including deletion of connected smart devices

For Nest devices and Google Home ecosystems, remove the deceased’s account through the Home app:

# Using Google Home Graph API (requires service account)
from google.home.graph.api import HomeGraphService

def remove_user_from_home_graph(user_id: str, home_id: str):
    """Remove a user from Google Home ecosystem"""
    service = HomeGraphService.from_service_account_file('service-account.json')

    request = {
        "agentUserId": user_id,
        "homegraph": {
            "devices": {
                "ids": [home_id]
            }
        }
    }

    # Delete user's device associations
    service.deleteAgentDevice(request)

Apple Devices

Apple’s ecosystem requires a death certificate and specific documentation for account removal. The process differs for iPhones versus cloud-bound services.

iPhone/iPad removal:

  1. Go to Settings > [Your Name]
  2. Tap Sign Out
  3. For devices with Find My enabled, you may need Apple ID credentials or proof of death

Apple ID deletion through deceased user portal:

Apple provides a specific process for deceased users:

  1. Gather documentation: Death certificate, proof of relationship, legal documentation
  2. Contact Apple Support with case reference
  3. Request account deletion or transfer through Apple’s Legacy Apple ID process

HomeKit removal via command line (for developers):

// Remove HomeKit home manager user (Swift)
import HomeKit

func removeUserFromHomeKit(home: HMHome, userID: String) {
    home.accessControl(for: userID).remove { error in
        if let error = error {
            print("Failed to remove user: \(error.localizedDescription)")
        } else {
            print("User removed from HomeKit successfully")
        }
    }
}

Amazon Alexa and Echo Devices

Amazon requires documented proof of death for account closure. However, you can remove the deceased’s voice profile and shared smart home configurations.

Remove voice profile:

# Using Alexa Voice Profile API (requires enterprise access)
# POST /v1/voiceProfiles/{voiceProfileId}/deactivation
curl -X POST \
  -H "Authorization: Bearer $ALEXA_TOKEN" \
  https://api.amazonalexa.com/v1/voiceProfiles/{voiceProfileId}/deactivation

Disconnect Alexa accounts from smart home:

  1. Open Alexa app > Settings > Account Settings
  2. Select “Manage Your Content and Devices”
  3. Remove the deceased’s Amazon account from shared devices
  4. Delete any Alexa routines associated with that account

Smart Thermostats (Nest, Ecobee, Honeywell)

These devices often maintain cloud connections after local logout.

Nest API deauthorization:

import requests

def deauthorize_nest_device(access_token: str, device_id: str):
    """Deauthorize a Nest device from a deceased user's account"""
    url = "https://smartdevicemanagement.googleapis.com/v1/enterprises/{project_id}:unregisterDevice"

    headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json"
    }

    payload = {
        "device": {
            "name": f"enterprises/{project_id}/devices/{device_id}"
        }
    }

    response = requests.post(url, json=payload, headers=headers)
    return response.status_code == 200

Smart TVs and Entertainment Systems

Roku deauthorization:

# Roku account removal via API
curl -X DELETE \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  "https://api.roku.com/owners/{owner_id}/devices/{device_id}"

Apple TV/TV+ removal:

  1. Open Settings > Users and Accounts
  2. Select the deceased’s profile
  3. Choose “Remove This Account”
  4. Sign out of iCloud if applicable

Automated Bulk Removal Script

For power users managing multiple devices, here’s a Python script that handles multiple platforms:

#!/usr/bin/env python3
"""
Bulk device deregistration script for deceased user accounts
Requires platform-specific API credentials
"""

import os
import json
import argparse
from typing import Dict, List
from datetime import datetime

class DeviceDeregistration:
    def __init__(self, config_path: str = "config.json"):
        with open(config_path) as f:
            self.config = json.load(f)
        self.log = []

    def remove_google_devices(self) -> bool:
        """Remove Google/Nest devices"""
        try:
            from google.cloud import homegraph_v1
            client = homegraph_v1.HomeGraphServiceClient()

            for device in self.config.get('google_devices', []):
                # Implement device removal logic
                self.log.append(f"Removed Google device: {device}")
            return True
        except Exception as e:
            self.log.append(f"Google removal failed: {e}")
            return False

    def remove_amazon_alexa(self) -> bool:
        """Remove Amazon Alexa associations"""
        try:
            import boto3

            client = boto3.client('alexaforbusiness',
                aws_access_key_id=self.config['aws_key'],
                aws_secret_access_key=self.config['aws_secret'],
                region_name='us-east-1')

            for room in self.config.get('alexa_rooms', []):
                client.delete_room(RoomArn=room)
                self.log.append(f"Deleted Alexa room: {room}")
            return True
        except Exception as e:
            self.log.append(f"Amazon removal failed: {e}")
            return False

    def remove_apple_homekit(self) -> bool:
        """Remove Apple HomeKit users (requires local access)"""
        # HomeKit management requires on-device or MDM enrollment
        self.log.append("Apple HomeKit: Manual removal required via device or MDM")
        return True

    def generate_report(self) -> str:
        """Generate removal report"""
        report = f"Device Deregistration Report - {datetime.now()}\n"
        report += "=" * 50 + "\n"
        report += "\n".join(self.log)
        return report

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Bulk device deregistration')
    parser.add_argument('--config', default='config.json', help='Config file path')
    args = parser.parse_args()

    dereg = DeviceDeregistration(args.config)
    dereg.remove_google_devices()
    dereg.remove_amazon_alexa()
    dereg.remove_apple_homekit()

    print(dereg.generate_report())

Before proceeding with account removal, ensure you have:

Most platforms require 1-4 weeks to process death-related account closures. Keep documentation for all requests submitted.

Prevention Strategies

For your own digital estate planning:

  1. Use password managers with emergency access features
  2. Document all smart devices and their cloud dependencies
  3. Set up platform-specific inactive account managers
  4. Include smart home devices in your digital estate plan
  5. Create runbooks for your trusted contacts

Built by theluckystrike — More at zovo.one