23 ms·
Ask HN: What is with the new URLs on facebook.com?
Hi HN,
I've noticed recently Facebook has started using URLs which seem to include encoded information.
For example, this URL to Vice:
https://www.facebook.com/VICE/posts/pfbid02XdVziPTwhmPU9XzBqkRvU5o7NPXUicAJgVy8kf1a1W51hU7EmgMmCigo9rZWxCjDl https://www.facebook.com/VICE/posts/pfbid02XdVziPTwhmPU9XzBq...
It's a pretty URL with some kind of hash at the end beginning with "pfbid."
Whereas they used to look like basic sharded URLs:
https://www.facebook.com/random.username/posts/10208327509806082 https://www.facebook.com/random.username/posts/1020832750980...
Is this for more targeted tracking on posts and links being shared, a new sharding scheme, a combination of both, or something else entirely?
Appreciate any insights the community can provide.
- evandrix 4y agohttps://www.ghacks.net/2022/07/17/facebook-has-started-to-encrypt-links-to-counter-privacy-improving-url-stripping https://www.ghacks.net/2022/07/17/facebook-has-started-to-en...
- groffee 4y agoFirefox recently started stripping out tracking URLs [0] and the most prevalent one is Facebook with it's ?fbclid= so it looks like they're encoding it straight into the URL now to bypass that, Medium does similar also. [0] https://www.engadget.com/firefox-can-now-automatically-remove-tracking-from-ur-ls-115228742.html https://www.engadget.com/firefox-can-now-automatically-remov...
- nchudleigh 4y ago+1 this is likely the situation. I would bet that the rest of the url resolves to the old format with the search param after some decoding.
- ape4 4y agoI suppose Firefox could remove this new encoding too
- nchudleigh 4y agoWouldn't be the first time they implemented direct anti Facebook features.
- wahnfrieden 4y agoSounds like this calls for some browser extensions Beyond privacy I'm interested in generally a browser extension that disables things that provide free labor to for-profit enterprises, such as hiding the moderation queue (which even has an annoying persistent badge) on StackExchange sites, the one that asks me to provide unpaid labor to private equity and has various rules that sound nice if it were a public utility but primarily work to improve their SEO.
- daniel_iversen 4y agoMost likely can’t be fixed by an extension and also to the parent poster, Firefox can’t strip this info out because the encoded string (how I read the original question) includes the actual metadata about what’s to be displayed. Looks like fb won this round.
- hdjjhhvvhga 4y agoI was actually wondering why the big trackers haven't implemented this yet and how much time it will take them to switch. I mean, the tracking part of the URL is so obvious it's just sitting there and asking to be removed. Most tech people do that, also some extensions, and now Firefox. So it was just a question of time.
- tyingq 4y agoAt least for now, facebook has an endpoint that converts from new to old. https://www.facebook.com/plugins/post.php?href=URL_ENCODED_NEW_URL_HERE https://www.facebook.com/plugins/post.php?href=URL_ENCODED_N... Returns references to the older style url in the returned html. I also noticed it's calling that new style base64 string a "story_token" in places, and uses it in conjunction with "page_token" set to "VICE" in this case.
- thrusong 4y agoMakes a lot of sense— thanks!
- wahnfrieden 4y agoIt's opt-in behavior. So Facebook is explicitly countering opt-in requests for privacy (without informing you)
- ehnto 4y agoSee also: all the companies scrambling to circumvent App Tracking Transparency, in which they are not only being duplicitous, they're also breaking the new agreements formed with the app store and the customer. Tracking has been a grey area in technology. Now that regulations and users are trying to scrape back some control over their privacy, it's going to be a lot clearer to see the line between moral and amoral behavior in companies.
- Nextgrid 4y agoApp Tracking Transparency only forces you to do what you must have already been doing to comply with the GDPR (and potentially even the earlier ePrivacy Directive). Any complaints about ATT should've been considered admissions of guilt by the EU regulators and promoted investigations.
- akagusu 4y agoThis is the kind of thing that should be illegal.
- Beldin 4y agoThere are laws against it (in certain parts of the world at least). Of course, those laws do allow tracking in certain situations. Of course that makes enforcement harder - enforcers need to figure out if this is not an allowed case. Moreover, enforcement agencies vary in execution, with the Irish DPA so bad, their actions are indistinguishable from actively undermining GDPR.
- Jasper_ 4y agoHow many "this should be illegal"s are we going to see on this website before people realize that powerful platforms have the money, power, and politics to lobby their way out of everything? A huge chunk of this was made illegal through the GDPR, and for years on this website everyone said it was a massive overreach. Or maybe we make this spend 5 years making this specific thing illegal and they circumvent it all in two weeks. Or they just ignore it and pay the paltry fines as a cost of doing business. Not to mention the giant groups of people working at FAANG here, directly complicit with this behavior, afraid their salary and stock options will tank if anything changes. Companies have the willpower and money to fight any sort of check on their power, well after the rest of us are all beyond exhausted.
- dom96 4y agoDo you have any evidence to say that this is the case other than speculation? It's also possible that they just changed the URL format. FWIW `pfbid` seems to be a shortened version of "post fb id" so why would it include the "cl id"?
- drexlspivey 4y agowhat's the reason to change from the old format if that's all it does?
- aaomidi 4y agoMultiple other companies doing the same thing would point to a trend.
- isametry 4y agoRule #n of the internet: If Meta does anything which doesn't explicitly protect the privacy of users, you can safely assume that it harms the privacy of users.
- danijelb 4y agoI went to Vice's fb page, found the same post that OP linked to and checked the URL. The pfbid part is exactly the same to me. The URL by default has some additional params attached like __cft__ and __tn__, which can be stripped, and those are probably tracking-related. Based on this, I don't think that pfbid is connected to tracking
- tyingq 4y agoIf I were Meta, this is how I would implement this. First, get everyone used to the new opaque base64 encoded blob, by using it just like the previous numeric post id. Then, after all the initial speculation dies down, encode other stuff in it.
- tedmiston 4y agoAre you sure about that? It's not the same for me. OP: https://www.facebook.com/VICE/posts/pfbid02XdVziPTwhmPU9XzBqkRvU5o7NPXUicAJgVy8kf1a1W51hU7EmgMmCigo9rZWxCjDl https://www.facebook.com/VICE/posts/pfbid02XdVziPTwhmPU9XzBq... Me: https://www.facebook.com/VICE/posts/pfbid0TbuHEaGP2fLTRDFRTuv4Q1GtJGVfHX7Wx1gNtLoH1Bfbp9cFh6VUK4ACWjBBWsBql https://www.facebook.com/VICE/posts/pfbid0TbuHEaGP2fLTRDFRTu... There were also a bunch of other query params junk after that I omitted here for brevity.
- madeofpalk 4y agoTiktok does the same thing when you get a URL to share a video
- dawnerd 4y agoIt’s really creepy too if you don’t know the share url can leak your account name (if you were trying to keep that private)
- type0 4y agoIt is but try to explain this to a regular user and they will call you a tinfoil hat nerd
- thih9 4y agoI don’t think this is that big of a problem today, after so many privacy leaks people are a bit more aware, at least in my experience. Also tiktok actually shows a popup that the link contains information about your account.
- jjeaff 4y agoYa, most people get that there is no privacy. Where I think you get more of the "tinfoil hat" accusations is that a lot of people don't care or don't recognize the far reaching implications of lack of privacy.
- grishka 4y agoIn my experience most people do understand the basic structure of a URL even if they don't know the proper names for the parts. It doesn't take being a software developer to empirically figure out which parameters are responsible for tracking and delete them before sharing — especially if you see your own username in one of them.
- saaaaaam 4y agoDo “regular folk” really do this though? It is a serious, non provocative question. I strip all cruft off URLs but consider myself privacy aware and technically adept. I don’t think my non-technical friends have any idea about this.
- shultays 4y agoThat was such a naive move by firefox tbh
- shultays 4y agoPerhaps a bit more explanation is needed considering the downvotes: https://news.ycombinator.com/reply?id=32118663&goto=item%3Fid%3D32117489%2332118663 https://news.ycombinator.com/reply?id=32118663&goto=item%3Fi... This is an arms race firefox would lose. I think if anything, firefox trying to race it is now negatively affecting anyone that were able to manually remove tracking id themselves (or use a browser extension)
- jherazob 4y agoDon't blame the victim, blame the abuser
- sangnoir 4y agoAd-blocking, like content piracy, are activities that are ignored and can flourish in the fringes. Once they go mainstream and become threats to profit margins, considerable resources will be brought to bear to fight them.
- eurasiantiger 4y agoSo the ultimate question is: how do we make sales executives look like a threat to profit margins?
- sangnoir 4y agoThe only way I can think of is to make profits above a certain level unprofitable by taxing them at a high rate with ratcheting without bracketing (i.e. any amount up to $X billion taxed at 10%, but anything greater than $X + $0.01 will be taxed at 60% for the entire amount, resulting in a tax graph that is discontinuous for profit vs. tax). Profits can be tinkered with, so perhaps do that with revenue instead. Then, for companies of a certain size will have no need for sales executives, and will be punished by Wall Street for exceeding optimal sales targets.
- gnu8 4y agoWhy on earth would Facebook think it is ok to bypass that? This should be considered a violation of the CFAA. Start putting Facebook execs in federal prison.
- autoexec 4y agoI'm all for throwing facebook execs behind bars, but what part of the CFAA would cover encoding tracking data in a URL?
- wahnfrieden 4y agoThis is Facebook actively circumventing their users' explicit requests to not be tracked :) They have no respect for you
- daniel_iversen 4y agoIt’s the price you pay to use the platform because it’s free.
- wahnfrieden 4y agoI don't use the platform, and I don't accept that cost
- blantonl 4y agothis is the way
- jefftk 4y agoBut if you don't use the platform then this new link format doesn't affect you?
- wahnfrieden 4y agoso what, jesus christ
- terrytibbs 4y ago
- Retr0id 4y agoAre you a GPT-3 bot?
- NelsonMinar 4y agoI have a feeling Facebook looks at URLs as an unfortunate requirement for running their walled garden in browsers. The more opaque, the better for their business.
- tyingq 4y agoIt appears the the old urls still exist, they are just sort of hidden. Your VICE link is also here, for example: https://www.facebook.com/VICE/posts/6037626766270531 https://www.facebook.com/VICE/posts/6037626766270531 Edit: To find the old style url, use /plugins/post.php with the new style url passed as a url encoded param value for "href", like: https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2FVICE%2Fposts%2Fpfbid0efBbdQRtaReHVvb7QFX8AiBHXMdUe9XohQHgaNQfkK4efCNUWhfSiAQcUaWLj3s7l https://www.facebook.com/plugins/post.php?href=https%3A%2F%2... Then, there's a timestamp like "10 minutes" ago in the returned page that leads to the old url. I imagine you could make a browser plugin out of that.
- thrusong 4y agoCool find— thanks!
- blantonl 4y ago
- bloqs 4y agoSocial pressure to make business more respectful of human rights when the business is financially incentivised to ignore them is a force for good. Someone has to clutch the pearls.
- xiaq 4y agoGood will has business value too.
- blantonl 4y agoI completely agree with this. I have direct experience in good will to my users on my businesses. I completely removed advertising from one platform, and for my paying customers, I have made the conscious decision to not automatically charge and bill my customers for their subscriptions unless they explicitly opt-in for reoccurring charges. Those two "good will" components have generated enormous good will with my customer base at the expense of significant revenue. The flip side of that is that unfortunately good will doesn't really have much business value if you are completely revenue and profit driven in a competitive marketplace. And if I'm wrong, and good will eventually does win out over something like Facebook's privacy practices, and the free markets determine the winner, then never forget that the markets can stay irrational longer then you can stay solvent.
- joeferraro 4y agoWhat an embarrassing take. So your retort to people crying foul over privacy is to call them hypocrites?
- blantonl 4y agoIt's social media dude. We've not talking about access to clean water or some other basic human condition where you are trading your privacy for a basic human right. Yes, you are damn right I'm calling out some of you as hypocrites, because as some of you around here build and scale your products and begin to build out social components of your businesses, you will absolutely walk right up to the line of regulation when it comes to your user's privacy over making your investors happy.
- sebastien_b 4y ago
- sebastien_b 4y ago
- dang 4y agoCan you please stop posting unsubstantive and/or flamebait comments to HN? It's not what this site is for, and it destroys what it is for. If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
- js2 4y agoI wonder if this is related to why mbasic.facebook.com links are regularly breaking now.
- cmg 4y agoAlong these lines, someone else mentioned that Tiktok embeds direct tracking into URLs already. Twitter recently started adding a 't=' param to their share links [0] as well, and I can only guess that it's some kind of similar tracking scheme. From watching browser traffic it appears to be generated when you click the share button, but I might be wrong about that. [0] https://twitter.com/NanoRaptor/status/1548301612246249474?s=20&t=RusKUa5wPxoIqPZKzkDnww https://twitter.com/NanoRaptor/status/1548301612246249474?s=... - the first thing in my feed. Link works fine without any of the query params, of course.
- propogandist 4y agothe params are included when sourcing a shareable link from the website/app (direct links don’t have this). This is a move to mimic tktok’s aggressive tracking practices. Twitter appears to be just analyzing who shares what with whom, but haven’t moved into using it for ‘growth hacking’ like tiktk yet (i.e. join cmg, who shared this link on Twtr)
- tester756 4y agoCannot somebody reverse engineer it?
- notriddle 4y agoIf Facebook engineered this competently, and I’m sure they have competent engineers, it’s either encrypted or totally opaque. If you can break this, you can probably break TLS.
- saos 4y agoPeople still use Facebook
- benreesman 4y agoI don’t have any super-special insight here, but FBID is facebook’s global integer ID namespace (fun fact: Zuckerberg’s account is 3, back in the day he was always getting random friend requests from people’s unit tests). Don’t know what a “p”-FBID is. I know symmetric encryption is reasonably cheap these days, but anything times “Facebook edge requests” is a lot, I bet any of the cryptographers on here could find out pretty quickly what’s in that blob.
- jaromir_ 4y ago4, not 3
- benreesman 4y agoHaha that’s right, good catch. You can tell it’s been awhile since I tested in prod. :)
- grishka 4y agoWhat are/were IDs 1, 2, and 3 for, then? VKontakte, the Russian Facebook, has another ID system entirely: each namespace kinda gets its own ID sequence. Pavel Durov is unsurprisingly ID 1. Group 1 is the group for app developers, but no idea what it was initially. Other objects are identified by a (type, owner ID, object ID) triplet, the object ID is unique within the type and the particular database server that's chosen based on the owner ID. Really simple to work with once you get into it. Does Facebook use a single global ID namespace for everything?
- benreesman 4y agoFacebook engineers know that VK engineers are serious as a heart attack. It’s 4 because he was prototyping the ID system. Facebook, as well as VK, have gotten quite fancy since about partitioning 64 bits.
- grishka 4y ago> Facebook engineers know that VK engineers are serious as a heart attack. Lmao. To be honest, it's surprising VK works as well as it does. Especially with all those custom, written-from-scratch databases aka "KittenDB". Oh and did you know that all strings are stored internally in the Windows-1251 encoding? And because it's an 8-bit Cyrillic encoding, characters that can't be represented in it, are stored as HTML entities. The API used to spit strings out exactly as they were stored, except converted to UTF-8, and it has caused me a lot of pain as an app developer. Their removal was a big thing: https://vk.com/wall85635407_3133 https://vk.com/wall85635407_3133 (btw here you can see the ID structure: "wall" is the type, wall post, 85635407 is the owner, 3133 is the post ID). Some ancient version of KittenDB is open source: https://github.com/vk-com/kphp-kdb https://github.com/vk-com/kphp-kdb, I managed to set it up on my server, but tbh you'll be better off using just about any other sufficiently popular database out there. This thing uses a binlog, keeps as much data as possible in-memory, and the schema is very fixed. It's basically a *-engine per every possible purpose.
- FollowingTheDao 4y agoOh it’s nothing, just something to make your life easier. Oh, and to make your life better as well. Just ignore it and keep using Facebook.
- ynx 4y agoI'm 90% certain the old number was an FBID. The new one looks like a different FBID encoding scheme - possibly with the type info included ('p') to reduce the overhead of a second data fetch. FBIDs are a globally unique id system that they've been using for almost as long as they've been around, if not actually from the beginning.
- deleted 4y ago[deleted]
- johnny_b_g 4y ago
- accrual 4y agoI noticed TikTok does something similar. For example, if you copy a link to a creator's page while logged in, your profile is encoded into the URL and your name and photo are displayed alongside the linked content. It's two steps to fix it - open the encoded link yourself, remove the extra data, then send the cleaned link.
- cascada 4y agoI don't understand. If click on it.... and? How will that make me less private? Or how will it hurt me in any way?
- steve_taylor 4y agoHere's how a browser could counteract this privacy-busting measure: When the user clicks one of these links, the browser could open it in a headless tab and wait for the URL to change to a non-facebook URL. The browser then remembers that URL, closes the headless tab, and navigates to the underlying URL with tracking parameters stripped.