What are typing patterns?
Typing patterns are the digital representation of a person’s unique typing behavior, similar to physical biometrics such as fingerprint recognition, facial recognition, and iris scanning.
To generate a typing pattern, TypingDNA uses an array of different metrics, including press time, which is the duration that a key is pressed, and seek time, which is the duration between keystrokes. When people type on their keyboards, TypingDNA develops a string of parameters that determine individual attributes of the way they type.
What are TypingDNA recorders?
Whenever you implement TypingDNA, you should start by integrating our typing pattern recorders. Make sure to go to TypingDNA’s GitHub repository and download the latest version of the recorder that works best for the technology you are using.
Direct links:
- Desktop apps: Java
- Desktop & mobile browsers: JavaScript
- Mobile apps: IOS Swift recorder, ReactNative Recorder
Take a look at this tutorial we’ve made to find out how to record good typing patterns.
What forms a typing pattern?
Any typing pattern has a header and a body. The header is crucial for the accurate interpretation of the information found in the body of the typing pattern, which defines the way the user types. Type 1 & 2 (more information below) patterns share a similar structure:
The header of a typing pattern consists of general information, including device type, recorder version, text length, operating system, browser type, browser version, and browser language. It also includes text ID, ahashed value obtained from the data typed by the user used to verify whether they have previously saved other typing patterns for the same text without knowing what the user has actually typed.
The body of the typing pattern allows us to go into more detail about how the user types: the time between two keypresses, how long they hold a key down, keyboard input (whether the keyboard is touch-based, physical, or a combination of both), and keyboard type (internal, external, or mixed).
Find out more in the API documentation.
How does a typing pattern differ on mobile?
For mobile, typing patterns also include data gathered on each keypress from the gyroscope and accelerometer, including acceleration, rotation, pitch, and roll, all of which help increase the accuracy of authentication.
Learn more about the TypingDNA mobile integration process.
Types of typing patterns
Sametext pattern (type 1) is dedicated to same-text authentication and should be used whenever you want the user to type the same text they typed for enrollment each time they authenticate. For example, it can be used for login authentication, as the user types the same email and password every time they sign in. First and last names, credit card numbers, and short identical phrases are other examples of texts that can be used for same-text authentication.
Anytext pattern (type 0) is used when you want your users to authenticate on a different text than the one they used for enrollment. For example, you can use this typing pattern to authenticate users when they compose emails, write documents, and have a text-based conversation.
Extended typing pattern (type 2) includes detailed information about the text a user types, including the string itself.
Learn more about the types of typing patterns.
What is the typing pattern viewer and how can I use it?
As every typing pattern is unique, our API returns an error when you use the same typing pattern twice. If you want to test your solution and need some typing patterns generated, you can use the type-to-output tool located on the typing pattern viewer page.