TP-Link promotes AES-128 encryption as bank-grade security on their marketing page. Independent researchers found that this exact encryption implementation is the weakness that lets attackers intercept your data. They are advertising the vulnerability as a feature. TP-Link claims your data is protected by TLS 1.2 encryption during transmission. Researchers found the smart plug communicates with your phone without any HTTPS encryption at all. Anyone on your Wi-Fi network could intercept commands and data between your phone and plug.
What they claim: AES 128-bit encryption is a highly secure cryptographic method... making it practically impossible to crack without the correct key
What we found: CVE-2023-38907: Weak CBC-AES128 encryption in Tapo device communication allows traffic interception. University of Catania/London research confirmed this is the vulnerability, not a security feature.
What they claim: Tapo implements TLS 1.2 encryption protocol when it comes to storing and transmitting sensitive information
What we found: University of Catania/London research (SECRYPT 2024) found Tapo devices lack HTTPS for device-to-app communication entirely. No TLS observed in device-to-app traffic.
What they claim: Tapo app (com.tplink.iot) requests CAMERA, RECORD_AUDIO, ACCESS_FINE_LOCATION, ACCESS_BACKGROUND_LOCATION, READ_PHONE_STATE, MANAGE_OWN_CALLS, MODIFY_AUDIO_SETTINGS — 41 permissions total
What we found: The Tapo P100 is a relay switch with a Realtek RTL8720CF SoC providing only Wi-Fi and BLE. No camera, microphone, GPS, or any sensors. FCC filing TE7P100 confirms the device has only Wi-Fi and BLE radios.
What they claim: App requests FOREGROUND_SERVICE_MICROPHONE — persistent microphone access via a foreground service
What we found: Privacy policy does not mention microphone data collection for smart plug users. Device is a socket with no microphone. FOREGROUND_SERVICE allows the app to maintain microphone access while running in the background.
What they claim: Policy mentions sharing data with unnamed business partners
What we found: App includes ACCESS_ADSERVICES_AD_ID, ACCESS_ADSERVICES_ATTRIBUTION, AD_ID, and BIND_GET_INSTALL_REFERRER_SERVICE — dedicated advertising attribution and ad tracking permissions. These identify specific ad-tech data flows the policy does not name.
What they claim: Privacy policy is silent on the risk of Wi-Fi credential exposure
What we found: CVE-2023-38906: TP-Link Tapo devices allow unauthenticated session key derivation via the KLAP protocol, enabling command injection and Wi-Fi credential theft. FCC confirms BLE onboarding transfers Wi-Fi credentials to device.
What they claim: Tapo utilizes a comprehensive data defense system to defend against data attacks and threats
What we found: 3 CVEs assigned (CVE-2023-38906, 38907, 38908 — two HIGH, one MEDIUM). TP-Link released only a partial fix in December 2023. Vulnerabilities include command injection, weak encryption, and insufficient authentication.
What they claim: Prominent display of ISO 27001:2022 and ISO 27701:2019 certifications implying product security
What we found: Three unpatched CVEs, weak CBC-AES128 encryption, no HTTPS for device communication, Wi-Fi credential exposure via KLAP protocol. ISO certification covers management processes, not product security.
What they claim: All device commands route through TP-Link cloud servers (euw1-api.tplinkcloud.com, use1-api.tplinkcloud.com, aps1-api.tplinkcloud.com, devs.tplinkcloud.com). Device stops working without internet.
What we found: Neither privacy policy nor marketing materials disclose that the P100 requires permanent internet connectivity for basic operation, or that all commands route through TP-Link servers in multiple regions even for local control.
What they claim: App requests RECEIVE_BOOT_COMPLETED, FOREGROUND_SERVICE, FOREGROUND_SERVICE_DATA_SYNC, WAKE_LOCK — auto-start and persistent background operation
What we found: Privacy policy does not disclose that the Tapo app automatically starts when your phone boots and runs continuously as a foreground service with wake lock to prevent the phone from sleeping it.