HACKER Q&A
📣 benctamas

Is it a dark pattern to probe local network from a webapp?


Hi HN!

I would like to detect whether the user has our device present on the local network or not. This would happen during signup and the purpose is to be able to link the (already server-connected) device to the user.

My other idea is to match the public ip address of the browser app and the device, as both connect to the same server(s), and let user select any matching device during signup. This does not sound lot better (for me).

If you have any opinion or other ideas, please share. Thank you!


  👤 onion2k Accepted Answer ✓
Dark patterns are 'dark' because they're deceptive. They hide what they're doing in order to trick the user in to doing something that they might not have otherwise done. In this case, if you want to check the local network, simply tell the user that's what you want to do, and give them a call to action like a button that they need to press in order to perform the check.

Avoiding dark patterns is very easy - just be honest with the user.


👤 gostsamo
It is not dark pattern as such, but if you don't tell, it can raise a flag in terms of privacy and security. The response may very. Announcing it loud and clear is the good practice to avoid confusion and building trust. Also, if you probe the local network, do it only for the purposes announced and do not use/keep/share the data for any other purpose.

👤 Nextgrid
> My other idea is to match the public ip address of the browser app and the device, as both connect to the same server(s), and let user select any matching device during signup. This does not sound lot better (for me).

This would not only fail with carrier-grade NATs but could be a privacy risk if different people share the same IP address (shared accommodations, etc).


👤 trcarney
I think you should ask the user to search their network or input a serial number (or some other identifier) manually. That is how I have seen other products do it. The manual process will also be useful for conditions where you can't find the device on the network.

👤 aww_dang
If you're worried about it, you can explicitly tell the user or ask for consent.