Wi-Fi CSI privacy and dataset de-identification: MACs, timestamps and behaviour

By Wu Jun · Updated 2026-10-29 · Wi-Fi CSI, privacy, de-identification, MAC address, dataset, timestamps · 7 min read

Wi-Fi CSI uses neither a camera nor a microphone, but that does not make it anonymous. A CSI record describes how the wireless channel changed and can also carry device identifiers, capture time, activity rhythms and environmental information. Replacing a MAC address addresses one risk class, not all of them.

This guide is for people preparing to publish CSI data, tutorial screenshots or experiment videos. It defines a threat model, documents what this project actually did, names the risks that remain, and provides a release checklist that can be audited. It is engineering and research guidance, not legal advice.

1. What is inside a CSI file

A CSI record normally combines signal values with metadata. In this project's container, the outer record includes a Unix timestamp and payload length. The payload contains a device timestamp, transmitter MAC, RSSI, SNR, bandwidth, channel, transmit/receive chains and I/Q values. Removing a label photo does not remove the information that can be combined from these fields.

Class Examples Directly identifies a person? Risk
Direct identifier MAC, BSSID, account, a person's name in a filename very likely points to a device or owner
Quasi-identifier precise time, room label, hardware model, fixed location not necessarily can narrow a population when linked
Derived feature gait, routine, presence, keyboard or gesture pattern method-dependent can describe behaviour even without a MAC
Environmental data I/Q, RSSI, channel and multipath variation low to medium enables activity recognition or cross-session linkage

“No camera” means there is no image or audio. It does not mean the data cannot reveal activity. IEEE 802.11bf now defines WLAN sensing as a standard capability [1], and CSI research already covers localisation, activity recognition and vital signs at scale [2].

2. The risk evidence is not only hypothetical

Two peer-reviewed papers make the boundary concrete.

Input side channel. Li et al. used CSI fluctuations from public Wi-Fi to infer numeric input in a controlled study and evaluated several phones in the WindTalker work [3]. This establishes a real side-channel class. It does not prove that every hotspot, phone and distance will reliably recover a password.

Gait and identity. Yang et al. report roughly 97.11% to 98.12% gait-recognition accuracy on public datasets with four to nine people [4]. This is not “CSI always knows who you are,” but it is enough to show that public activity data should not be treated as harmless noise.

The defensible conclusion is conditional: under a specific device, environment, sampling rate and algorithm, CSI can support sensitive inference. Risk depends on who receives the data, how long it is retained and what else can be linked to it.

3. De-identification, pseudonymisation and anonymisation are different

NIST SP 800-188 describes de-identification as reducing the association between data and its subject. It asks data stewards to choose a sharing model and consider direct identifiers, quasi-identifiers, re-identification testing and governance; simple masking is not automatically sufficient [5]. ICO guidance similarly distinguishes anonymisation from pseudonymisation and discusses identifiability, motivated-intruder testing and controls [6].

This site therefore uses conservative language:

Without a threat model and re-identification review, a CSI file should not be called “fully anonymous.”

4. What this project's public dataset actually did

The 10-minute dataset publishes 57,293 chain records [7]. The script rewrites the six-byte ta field at payload offset 4 through 9 to 02:00:00:00:00:01, a locally administered placeholder with no real vendor OUI. I/Q, RSSI, SNR, the device microsecond timestamp and chain fields remain unchanged.

This preserves parser, grouping and algorithm reproducibility while removing the direct transmitter MAC. It does not:

The current DOI release is therefore more accurately described as MAC-de-identified or pseudonymised data, not legally anonymous data. The published Zenodo version must not be silently rewritten because that would break existing SHA-256 values and citations. A future version should:

  1. preserve the relationship between I/Q values and payload sequence;
  2. subtract a fixed offset from the outer absolute timestamps and expose a documented relative time axis;
  3. record the transformation, new hashes and a new DOI version in the manifest;
  4. keep the old version available and distinguish a byte change from an interpretation correction.

5. A publication pipeline

Step Action Pass condition
1 establish authorisation and household consent scope, retention and publication model have an owner
2 inventory source material captures, photos, videos, screenshots, annotations and logs are all listed
3 remove direct identifiers MAC/BSSID, names, accounts, hostnames, SSIDs, serials and file paths are handled
4 handle quasi-identifiers absolute time, room names, precise location and rare hardware combinations are shifted, generalised or removed
5 review behavioural risk the release states whether routine, gait, input or other sensitive activity can be inferred
6 clean media metadata EXIF/GPS, audio, faces, device labels and private workspaces are removed
7 recompute hashes every part and the whole package have SHA-256 values that match the download
8 perform a re-identification review apply a motivated-intruder check against the intended audience and likely attackers
9 choose a sharing model public download, controlled access and query-only access have different risk
10 publish scope and contact licence, allowed uses, residual risk and correction email are visible

For household CSI, steps 4 and 5 are often more important than MAC replacement. A file with no real MAC can still show when people are active, whether sleep is disrupted or whether a room is empty. The publisher must ask whether that behaviour is part of the research result being released; a hexadecimal field is not automatically safe.

6. Audit the binary, not just its strings

Running strings or searching for a printed MAC is insufficient for a custom binary format because an identifier may not be encoded as readable text. This minimal auditor walks this project's record format and reports MACs still found in the payload:

import struct
from pathlib import Path

REC = struct.Struct("<dH")  # outer Unix timestamp, payload length

def audit(path):
    data = Path(path).read_bytes()
    off = 0
    records = 0
    macs = set()
    absolute_times = []
    while off + REC.size <= len(data):
        file_ts, length = REC.unpack_from(data, off)
        payload = off + REC.size
        if payload + length > len(data) or length < 24:
            raise ValueError(f"truncated record at byte {off}")
        macs.add(data[payload + 4:payload + 10].hex(":"))
        if len(absolute_times) < 2:
            absolute_times.append(file_ts)
        records += 1
        off = payload + length
    return {"records": records, "macs": sorted(macs), "file_ts_samples": absolute_times}

print(audit("capture.bin"))

The result should answer four questions:

  1. How many real MACs remain, and is only the intended placeholder left?
  2. Are the outer timestamps still Unix values that map to real dates?
  3. After splitting the file, does a stable cross-session linkage remain?
  4. Do the new manifest, package hash and dataset description agree?

Verify I/Q preservation separately. A whole-file hash must change when the MAC changes. Parse both files, zero the ta bytes in memory and compare canonical hashes, or compare every I/Q field directly.

7. Material that should not be published

The project's media review uses a conservative rule: source material that can uniquely identify a device, address, account or non-consenting third party is not published. This includes:

Videos and photos are not exempt from privacy work. The project's 15-second clip is silent, cropped and stripped of EXIF because the source also contained a private desk, people and capture time. The device-label photo was excluded entirely instead of blurring only the QR code.

8. The minimum conclusion for publishers

The Wi-Fi CSI privacy question is not “does it have a camera?” It is whether the data can point to a person or describe behaviour they did not intend to disclose. MAC replacement is necessary, but it is not the finish line. A release should review absolute time, behavioural semantics, media metadata, sharing scope and re-identification risk together, and document the residual risk.

This project's 10-minute capture, 60-second demo source and toolkit remain reproducible [8] [9]; this page records the current version's residual risk as well. A future time-shifted release must use a new version DOI and hashes instead of silently replacing an already published file.

Related: dataset formats and downloads · methodology, evidence grades and corrections · privacy policy · 10-minute quality audit

References and data sources

Every external claim carries a source and an evidence grade (grading scheme). Grade E marks first-party, reproducible measurements from this project.

  1. Grade A · standard/review IEEE 802.11bf — WLAN Sensing (standard project)
    IEEE Standards Association · IEEE 802.11 Working Group · 2020
    standards.ieee.org/ieee/802.11bf/10331/ · verified: standards.ieee.org HTTP 200, 2026-10-11 · Official project page for turning sensing into a WLAN standard capability (approved September 2020).
  2. Grade A · standard/review WiFi Sensing with Channel State Information: A Survey
    W. Ma, W. Zhou, X. Wang · ACM Computing Surveys · 2019
    doi:10.1145/3310194 · citations 857 · verified: CrossRef API, 2026-10-11 · The field's most-cited CSI sensing survey (857 citations, verified via CrossRef).
  3. Grade B · peer-reviewed When CSI Meets Public WiFi: Inferring Your Mobile Phone Password via WiFi Signals
    M. Li, Y. Meng, J. Liu, H. Zhu, X. Liang, Y. Liu, N. Ruan · Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS) · 2016
    doi:10.1145/2976749.2978397 · verified: Crossref DOI metadata and OpenAlex abstract verified 2026-10-29 · WindTalker inferred numeric mobile input from a Wi-Fi CSI side channel in a controlled study and evaluated several phones. It establishes a real risk class, not a claim that every public hotspot can reproduce it reliably.
  4. Grade B · peer-reviewed Gait-Enhance: Robust Gait Recognition of Complex Walking Patterns Based on WiFi CSI
    J. Yang, Y. Liu, Y. F. Wu, P. Yang, Z. Liu · 2023 IEEE Smart World Congress (SWC) · 2023
    doi:10.1109/swc57546.2023.10449176 · verified: Crossref DOI metadata and OpenAlex abstract verified 2026-10-29 · Reports roughly 97.11% to 98.12% gait-recognition accuracy on public datasets of four to nine people. The result depends on the paper's data and protocol and does not generalise to universal identity recognition.
  5. Grade C · official docs NIST SP 800-188 — De-Identifying Government Datasets: Techniques and Governance
    National Institute of Standards and Technology · 2023
    doi.org/10.6028/NIST.SP.800-188 · verified: NIST CSRC official record fetched 2026-10-29; published 2023-09-14 · Defines de-identification as reducing the association between data and its subject; emphasises sharing models, quasi-identifiers, re-identification risk and governance, and warns that masking alone may be insufficient.
  6. Grade C · official docs Anonymisation — UK GDPR guidance and resources
    UK Information Commissioner's Office (ICO) · 2025
    ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/data-sharing/anonymisation/ · verified: Official ICO guidance fetched 2026-10-29; page metadata date 2025-08-29 · Discusses anonymisation versus pseudonymisation, identifiability, the motivated-intruder test and controls. It is UK regulatory guidance, not a certification of this project's dataset.
  7. Grade E · first-party measurement This project's 10-minute raw capture (57,293 records / 600.0 s, SHA-256 00373f83…95e2)
    Router CSI Lab · 2026
    okwujun.pw/en/datasets/ · verified: Reassembled chunks verified byte-identical (2026-10-11) · The local raw master has SHA-256 00373f83…95e2; the public de-identified derivative has SHA-256 527466ce…a440. They must not be confused.
  8. Grade E · first-party measurement Router CSI Lab — GL-MT6000 (MT7986) Wi-Fi CSI dataset, 10 s sample + 10 min capture
    Router CSI Lab · 2026
    doi:10.5281/zenodo.23434789 · verified: CC BY 4.0; SHA-256 published; Zenodo DOI 10.5281/zenodo.23434789 · The dataset has a Zenodo DOI (10.5281/zenodo.23434789) and can be cited directly.
  9. Grade E · first-party measurement Router CSI Toolkit — capture/analysis/watchdog scripts (MIT, public repository)
    Router CSI Lab · 2026
    github.com/jjjwu/router-csi-toolkit · verified: GitHub API verified the public repository, capture-quality preflight, successful CI and the v0.1.3 release on 2026-11-02; the archive SHA-256 is 59f144c0…adea7 · The public repository includes a dependency-free capture preflight; the browser checker uses the same container definition and evidence boundaries.