OpenKeystroke
An open research platform for authorized acoustic keystroke side-channel experiments and privacy defense evaluation.
The research question
Typing makes sound, and machine learning models can learn from it. OpenKeystroke asks how far that signal goes under controlled, consented conditions, and whether practical defenses actually reduce it. It classifies predefined, non-sensitive acoustic categories. It does not reconstruct text or passwords.
Inside the platform
The Python source ships eight attack models and six defenses behind one pipeline, with leakage-safe evaluation: group-disjoint splits, train-only fitting, and validation-only model selection. A defense counts as effective only with a significant drop across at least three seeds against both a static and an adaptive attacker. Every run is reproducible, with a replay check that diffs a repeated run.
Current scope
Experiments so far use synthetic data only, generated deterministically so anyone can reproduce them. Recordings stay local and are never uploaded. Validation on real, consented laboratory recordings is the main open item, and the repository is explicit about what is proven and what is not.