Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

getDeviceFingerprint #5

Closed
humbucker opened this issue Jun 4, 2015 · 7 comments
Closed

getDeviceFingerprint #5

humbucker opened this issue Jun 4, 2015 · 7 comments

Comments

@humbucker
Copy link

Do you think it would be possible to generate a device fingerprint (i.e. excluding browser info) that is meaningful? You'd obviously have a much lower likelihood of uniqueness for the ID.

The use case is providing signals to contribute to some anti-gaming analytics. We know that some users switch browsers and try to up-vote themselves with different accounts.

If you think this is worth adding would you like to see "device" and "browser" provided to the getFingerprint function or a separate getDeviceFingerprint function.

Is there anything we should consider if we wanted to take a shot and submit a pull request?

@jackspirou
Copy link
Owner

@humbucker what do you think of instead of splitting up "device" and "browser" having a getFingerprintBy("screenprint", "availableresolution", "colordepth") method that took many strings representing data collection points? That would solve the problem of some people not wanting to use certain data points. Then you could also use getFingerprintBy() to product a getDeviceFingerprint function.

The only issue I have seen with a potential getDeviceFingerprint method, is that you need to ensure your users have a browser that will get all the "device" data collection points. It can be limiting and therefore hurt your fingerprint id uniqueness.

Does that sound along the lines of what you were thinking?

@jackspirou
Copy link
Owner

@humbucker does the above sound reasonable to you or do you have different thoughts around "device" vs "browser" ?

@ammurphy
Copy link

I was thinking pretty much the same thing as @humbucker. There would probably need to be a fair amount of testing involved to find the subset of methods that return the same values when run on one machine irrespective of browser. For example, the getFonts() method seems like it should return the same values regardless of browser as it's my understanding fonts are installed at the machine level. That being said, I received much different results for recent versions of both Chrome and Firefox on my laptop.

Firefox shows 42 fonts installed, and Chrome shows 21.

All that being said, it's my view the enhancement proposed by @humbucker is a worthy addition to the library.

@thelinuxlich
Copy link

Wouldn't the canvas fingerprint be enough for this?

@thelinuxlich
Copy link

Oh sorry, it's cross-device identification, maybe join the relative data with IP on the backend?

@jackspirou
Copy link
Owner

Take a look at the new getCustomFingerprint method. It takes any number of data points you could pass to it as strings. It will even take data points outside of what ClientJS makes available.

You can find it here: http://clientjs.jacks.io/#Fingerprint-getCustomFingerprint

@jackspirou
Copy link
Owner

Gonna close this issue out. Let me know if anyone has anymore feedback for the getCustomFingerprint method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants