Website multifactor authentication prompts will often include a "remember this computer" checkbox. How does this work?
In order to be secure, it needs to be more than just a cookie, as a cookie can be stolen and sent from any other machine. Presumably there is some kind of fingerprinting going on. I've seen there are fingerprinting libraries, so I can image a scheme where you issue a cookie that that suppresses MFA, and you encrypt the fingerprint into it. During login, the server decrypts the cookie and makes sure it matches the client's fingerprint.
However, I'm also reading that browsers are increasingly implementing anti-fingerprinting techniques. I don't get how that works. I mean, some of the Javascript APIs that are used to do the fingerprinting, such as those that provide screen size or chosen language, can't be normalized without breaking those APIs. Other fingerprinting techniques, such as rendering to a canvas to detect differences in GPUs, can't be avoided at all.
In any case, "remember this computer" is widely implemented, including from companies like Apple that are pretty aggressive about user privacy.
So how is this typically done? I'm trying to implement MFA, and I'd like to offer this to make users life easier, but only if it can be done securely.