Use case
Account sharing: see how many devices use one login
Account sharing is one paid login used by many people. You cannot see people, but you can see devices. FingerPrint Checker gives every browser and app install a visitor ID, and you attach your own user ID to it when someone signs in. Your server can then ask how many different devices used one account, and how many accounts one device used.
The threat
A seat or a paid plan is sold for one user. When the password is passed around, you carry the cost of every extra viewer, seat or API call and lose the sales that sharing replaces. Passwords and IP addresses cannot tell these cases apart: the same password works everywhere, and home networks change.
What you can see
Everything is stated in terms of devices and browsers. A visitor ID means the same device or the same browser, not the same person: one person can own several devices, and a family can share one. What counts as too many is your policy, and the rule that applies it runs on your server.
- How many different devices and browsers signed in to one account over a period.
- A new device on an account that has used the same few devices for months.
- One device that signs in to many different accounts, which points the other way: a reseller or a farm.
- Sign-ins from several countries within a short window.
How to add it
Identify the visitor when they sign in and send your user ID as linkedId. Your server then lists the events for that user with your secret key and counts the distinct visitor IDs. Free, rate-limited reads; no extra check is billed.
What to do with the answer
Start softly: show a “manage your devices” screen, ask for a password change, or require a second factor on the new device. Reserve hard limits for plans that promise a seat count, and say so in your terms.
Count the devices behind one account
// Server side, after the user signed in and the browser reported its linkedId
const url = new URL('https://api.fpchecker.com/v1/events');
url.searchParams.set('linkedId', session.userId);
url.searchParams.set('limit', '100');
const r = await (await fetch(url, { headers: { 'X-Secret-Key': process.env.FPCHECKER_SECRET_KEY } })).json();
if (!r.events) throw new Error(r.error ?? r.reason); // an error is never "no devices"
const devices = new Set(r.events.map(e => e.visitorId));
// Your policy decides what is too many; start with a prompt, not a block.
return { devices: devices.size, review: devices.size > MAX_DEVICES_FOR_PLAN };Frequently asked questions
Can it tell that two logins are the same person?
No. It tells you that the same device or the same browser was used, and that is all it claims. Treat it as evidence about devices, not about people.
What about a family that legitimately shares a plan?
The count is only a number you read. Set the limit that matches your plan, and prefer a prompt or a second factor over a hard block.
Does a user with two browsers on one computer count as two devices?
Usually not. A second browser first seen on the same computer and network usually gets the same visitor ID. First seen on another network, it gets its own, so leave some headroom in your limit.
Try it on your own sign-up flow
Every new account gets 2,000 free checks. No card required.