I want to be able to give users a 3 day trial period to use my product (a React + Node.js web app) without a sign-up. Seems that the best option online is fingerprint.com and I've learned the hard way that the free npm version is only 60% accurate.<p>My other option is to save a uuid on the browser's local storage to track the user. This wont work if the user erased their history.<p>I'd like to pause and ask the community - Is there a fundamentally better way to do an x-day free trial?
We do signup, including captcha, email confirmation step, record IP addresses, extensive check against temporary/burner/disposable email addresses. Still 10 people per day sign up multiple times. If people want to go over the trial period they will. Literally while I was writing this I got a notification of a repeat signup and sure enough the user hit their quota and just signed up with another email address to continue. That's the reason you see websites requiring phone number or credit card verification these days.
Even with sign up there are ways to get around it by creating multiple accounts, so good luck getting even close without sign up AND without fingerprinting.<p>At the same time you might get more false positives the harder you try, e.g. IP addresses can be legitimately shared between users while the ones trying to get around your limits know how to change theirs
You could do a simple email link passwordless sign in<p>I think if you tie this to browser state it is too easy to keep renewing.<p>Even with emails it is easy but trickier for most people unless they own a domain or use plus addresses.
Is it really worth the effort to do more than email and maybe IP? It's not perfect, but nothing is, so you might as well not burn too much time/money/code on it.