It's just a counter.
But in order to count, it must record what we type.
Here is the first scheme that I think of
--- WhatPulse client record what we type ---> send to the cloud ---> at the cloud, it will do the analytics, counting, statistics and compare to what we did on the other days so they can have a general comparison.
The second scheme would be safer
--- WhatPulse client and the cloud only keep a key matrix map between key code versus key hit (key A, hit 100) of what we type, they synchronize together and keep increasing one by one when we hit a key. However, the sequence of it is unsafe. Suppose the previous state of the map is: A:1, B:2, C4, the next state of the map is: A:2, B:4, C:5, the difference can indicate that we already type ABC. I'm not sure if the communication between WhatPulse client and its cloud is encrypted but it would be quite dangerous if it send our key statistics in non-encrypted format. Even it does have encryption, on the cloud, depending on the synchronization mechanism (real time or time frame) and the data recorded, it may still know what we type.
Of course, all of the above are based on my assumption. The application may have difference strategies to protect the customer. But for me, I'm not going to use it.