this post was submitted on 11 Aug 2023
36 points (97.4% liked)

Sync for Lemmy

14997 readers
7 users here now

๐Ÿ‘€


Welcome to Sync for Lemmy!

Download Sync for Lemmy


Welcome to the official Sync for Lemmy community.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Community Rules


1- No advertising or spam.

All types of advertising and spam are restricted in this community.



Community Credits

Artwork and community banner by: @[email protected]


founded 1 year ago
MODERATORS
 

A recent post at Lemmy.ml pointed out that images are loaded directly by Lemmy clients, and aren't proxied through any instances.

This has some implications for targeted advertising and tracking. For example, if I ran an ad network, I could post a benign-looking comment that has a tracking pixel embedded as an image. Say I posted one on a Lemmy post about cooking: when a user scrolls near that comment, the image would get loaded and I would be given an association between an IP address and device type โ†’ some interest. If not many people use that IP and device type tuple, I could determine that you were interested in cooking and try to serve you ads for kitchenware.

Adding the option to specify the HTTP user agent when viewing images (or better yet, randomize it between a bunch of valid ones) would be a nice option for privacy-conscious users who don't want advertisers (or websites collecting HTTP request data to sell to advertisers) to be able to build profiles on them.

If you wanted to add extra value to Sync Ultra, you could even offer image proxying as one of its features :)

Edit: According to this comment, the regular Lemmy website will load embeds for direct messages. If that's also true for Sync, it means someone could find your IP address by just sending you a message with an embed. That has some even bigger privacy implications.

Edit: Sync doesn't embed the image, but it loads it to display a thumbnail:
Screenshot of my inbox showing a thumbnail of the image

all 10 comments
sorted by: hot top controversial new old
[โ€“] [email protected] 12 points 11 months ago (1 children)

i don't think this needs to be a sync feature, but a lemmy one.

[โ€“] [email protected] 4 points 11 months ago* (last edited 11 months ago)

Ideally, yeah.

I'm not confident that instances would actually enable image proxying, though. The bandwidth for that costs money, and instances don't necessarily have a consistent revenue stream that would make it feasible to run a proxy in addition to hosting the instance itself.

With Sync Ultra being a subscription, I think it would be more viable for lj to maintain an image proxy for Ultra subscribers. And if Lemmy ever adds image proxying itself, the instance proxies could be used where available instead.

[โ€“] [email protected] 8 points 11 months ago (1 children)

I don't think this would do very much for your privacy.

For spoofing a user agent: The server could easily get your ip address which likely says more about you than a user agent. The user agent says almost nothing about you: just the name of the client doing the request.

For proxying image requests, you could gain something similar by using a VPN. It all comes down to trust. If you trust the end instances at the start, you don't need to proxy requests, if you trust a vpn you can do that instead as a trust barrier. Sync being a proxy doesn't make sense to me and could cost a lot to do properly with low latency, etc.

That's just my thoughts, not that of the ljdawson.

[โ€“] [email protected] 3 points 11 months ago (1 children)

For spoofing the user agent, I still think that some level of obscurity could help. The IP address is the most important part, but when sharing an internet connection with multiple people, knowing which type/version of device would help disambiguate between people with that IP (for example, a house with an Android user and an iPhone user). I wouldn't say not having the feature is a deal breaker, but I feel like any step towards making it harder to serve targeted ads is a good step.

Fair point on just using a regular VPN, but I'm hoping for something a bit more granular. It's not that all traffic would need to be proxied, though. If I use some specific Lemmy instance or click on an image/link, that was my choice to trust those websites. The concern here is that simply scrolling past an embedded image will make a request to some third-party website that I don't trust.

[โ€“] [email protected] 3 points 11 months ago (1 children)

Ua spoofing will only make you more easily detectable. Every UA string should be a common one, or just empty.

[โ€“] [email protected] 1 points 10 months ago* (last edited 10 months ago) (1 children)

The problem with a common UA string is that you would know the request came from someone browsing Lemmy with Sync. Ideally, media requests to any third party should be indistinguishable from a regular web browser. As for empty strings: in my experience, some websites block requests with an empty or missing User-Agent header.

I still think the best approach would be to let the user pick a UA. Having a list of common browser/device pairs that update the version numbers automatically would probably be a good idea, though.

[โ€“] [email protected] 4 points 10 months ago

By common, I meant the most used UA string that exists, not a shared Lemmy one

[โ€“] godless 4 points 11 months ago

Maybe put it on the github tracker as a feature request so you can be certain to get a reply?

https://github.com/laurencedawson/sync-for-lemmy/issues/new/choose