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:
- MAC de-identification: removes or replaces a direct device identifier;
- de-identified or pseudonymised data: risk is reduced, but timing or behavioural features may still enable linkage;
- anonymous information: under a stated threat model, re-identification is reasonably believed to be infeasible.
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:
- remove the outer absolute Unix timestamp in the capture container;
- erase activity rhythm, presence, gait or environmental variation;
- prevent linkage between records from the same capture session;
- prove that a recipient cannot combine the data with outside information.
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:
- preserve the relationship between I/Q values and payload sequence;
- subtract a fixed offset from the outer absolute timestamps and expose a documented relative time axis;
- record the transformation, new hashes and a new DOI version in the manifest;
- 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:
- How many real MACs remain, and is only the intended placeholder left?
- Are the outer timestamps still Unix values that map to real dates?
- After splitting the file, does a stable cross-session linkage remain?
- 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:
- labels containing a QR code, MAC, serial number or default password;
- original photos or videos with GPS, precise capture time and private workspaces;
- screen recordings showing home topology, SSID, hostnames, LAN addresses or shell history;
- long-duration activity data without household consent;
- images that blur one field at the start but retain other combinable information.
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.
- 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). - 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). - 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. - 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. - 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. - 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. - 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. - 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. - 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.