This application is for a method of detecting genuine human interaction. It works by receiving data that is indicative of interaction events, such as mouse movement, touching a touch pad, key presses and so on 910. It then processes, or parses the data 920 to extract user-interface (UI) cues, which are collections of multiple events, such as pressing and releasing a key. It then determines for each UI cue a type indicative of the type of interaction with respect to the computer, and determines a fingerprint that can identify a plurality of UI cues 930, which may be done using heuristics or a hash function. It then may check a store for stored fingerprints 940 to determine if the interaction is a replay of a previous user interaction with the device 950. In another embodiment it may determine if the user is human by classifying the UI cues as human or not, and if the number of human UI cues is above or below a threshold determines that the user is a human or not.