OTP codes can be generated from a hardware token device, such as Deepnet SafeID, or a mobile app such as Deepnet MobileID
Every device or app stores a unique piece of data (seed data/secret) for each token.
To generate HOTP codes, the device or app combines the secret with an internal counter.
To generate TOTP codes, the device or app combines the secret with the current timestamp generated from the internal clock.