L'interfaccia della tastiera per l'applicazione passa attraverso diverse fasi, alcune delle quali il sistema operativo ha un controllo limitato, mentre altre forniscono agganci espliciti per funzionalità aggiuntive. Il progetto di base va così: gli eventi hardware vengono ricevuti dalle catene di driver, che quindi passano i messaggi al kernel, che poi li invia a una catena globale di hotkey e infine all'applicazione desiderata (se non annullati da una fase precedente della catena) ).
La catena dei driver consente al kernel di non preoccuparsi di "come" vengono generate le sequenze di tasti, solo che lo sono. Potrebbero essere da una tastiera, da un dispositivo IR o da qualsiasi altra fonte che potrebbe inviare un segnale progettato per essere interpretato come una tastiera. Un registratore di tastiera hardware, ad esempio, è un dongle che ha un ingresso USB o PS / 2 su un'estremità e una porta USB o PS / 2 sull'altro, in modo tale che la tastiera trasmetta i dati attraverso questo dispositivo e sia intercettata. Il sistema operativo non può letteralmente rilevare che tale registrazione è in corso.
L'altro tipo comune di registrazione avviene nel software, cosa che può accadere sia prima che il sistema operativo abbia la possibilità di vedere i messaggi della tastiera, sia dopo. I driver possono fare praticamente tutto quello che vogliono, e il sistema operativo non può rilevare rigorosamente che un driver stia deviando messaggi a scopi nefandi, perché riescono a ispezionare i messaggi prima che il sistema operativo lo faccia. Questa è la natura del livello di astrazione hardware (HAL) a cui i driver fanno parte. Fortunatamente, dal momento che sono in memoria, il software anti-malware può rilevare e disabilitare tale comportamento.
Infine, si ha un "buco" intenzionale nel sistema operativo, generalmente definito "hot key globale", che consente a qualsiasi applicazione di richiedere che i messaggi della tastiera vengano passati a loro prima dell'applicazione in-focus. Ciò consente non solo il funzionamento di Alt-Tab (il gestore di finestre intercetta questi messaggi per cambiare app), ma anche la maggior parte dei programmi multimediali richiede ai gestori di supportare tasti multimediali come riproduzione, riavvolgimento e avanzamento rapido e altre app per l'utente controllo del volume, ecc. Senza tutti questi hot key globali, il sistema operativo sarebbe molto fastidioso da usare e le app risulterebbero molto più complesse. Tuttavia, proprio come questa è una grande caratteristica, può anche essere abusata da un programma.
Tuttavia, si noti che non tutti i programmi ricevono una copia di un messaggio sulla tastiera, solo driver, gestori di tasti di scelta rapida globali e l'applicazione in-focus. Il problema non ha nulla a che fare con il fatto che ogni programma riceve una copia di un evento di tastiera, ma il fatto che l'HAL deve essere in grado di trasformare i messaggi dall'hardware ai messaggi del kernel e gli hot key globali sono necessari per fornire funzionalità al utente senza che ogni programma debba essere creato per fornire le stesse funzionalità.
Lì hanno stato avanzato per bloccare il processo, come richiedere "driver firmati", che riduce la probabilità che i driver dannosi entrino nella catena dei driver e anti-virus in grado di rilevare i cattivi comportamento da parte delle app. Tuttavia, finché non vengono risolte molte delle vulnerabilità della sicurezza, ad esempio la registrazione della tastiera a livello hardware e la registrazione di hot key globale non sicura, i logger avranno comunque l'opportunità di registrare le sequenze di tasti. Anche se i tasti normali sembrano passare semplicemente dall'hardware all'app, sono necessari diversi passaggi intermedi necessari e questi passaggi sono necessari per la compatibilità di base (driver) e la funzionalità (tasti di scelta rapida globali).