<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>privacy &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/privacy/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Mon, 06 Apr 2026 14:55:30 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>privacy &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Did WordPress VIP leak my phone number?]]></title>
		<link>https://shkspr.mobi/blog/2026/04/did-wordpress-vip-leak-my-phone-number/</link>
					<comments>https://shkspr.mobi/blog/2026/04/did-wordpress-vip-leak-my-phone-number/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 11:34:43 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[automattic]]></category>
		<category><![CDATA[gdpr]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=69804</guid>

					<description><![CDATA[As discussed in my last blog post, the scumsuckers at Apollo.io have been giving out my personal details.  Not only did they have my email address, they also had a copy of one of my phone numbers. I asked them where they got it from and they said:  Your phone number came from Parsely, Inc (wpvip.com) one of our customers who participates in our customer contributor network by sharing their…]]></description>
										<content:encoded><![CDATA[<p>As discussed <a href="https://shkspr.mobi/blog/2026/04/someone-at-browserstack-is-leaking-users-email-address/">in my last blog post</a>, the scumsuckers at Apollo.io have been giving out my personal details.</p>

<p>Not only did they have my email address, they also had a copy of one of my phone numbers. I asked them where they got it from and they said:</p>

<blockquote><p>Your phone number came from Parsely, Inc (wpvip.com) one of our customers who participates in our customer contributor network by sharing their business contacts with the Apollo platform.</p></blockquote>

<p>I've never done any business with <a href="https://www.parse.ly/">Parsely</a>. They have no reason to have my phone number and <em>absolutely</em> no permission to share it with other organisations.</p>

<p>Back in 2021, <a href="https://wpvip.com/blog/parse-ly-is-now-a-core-part-of-wordpress-vips-platform/">Parsely became part of WordPress VIP</a>. Ah yes, our old "friends" at Automattic with their <a href="https://shkspr.mobi/blog/2024/12/is-wordpress-org-gdpr-compliant/">somewhat lax attitude to privacy</a>.</p>

<p>I took advantage of <a href="https://wpvip.com/vip-and-the-gdpr/">WordPress VIP's GDPR policy</a> and sent a terse but polite "Hey, WTAF?" to them. Their response was quick:</p>

<blockquote><p>Thanks for reaching out. We are currently investigating our systems to locate any personal data regarding your request. We appreciate your patience.</p></blockquote>

<p>After a bit of prodding, they eventually replied with:</p>

<blockquote><p>It appears that we obtained your contact information as a result of a meeting you had with a representative for the WPScan service around August 5, 2022. WPScan is owned by our parent company Automattic.</p>

<p>We have no record of Parsely, Inc. (which is no longer in existence) or WPVIP Inc. (the owner of the Parse.ly service) having any relationship with Apollo.io.</p>

<p>We also have no record of Parsely, Inc. or WPVIP Inc. having sold or otherwise provided your information to any third party.</p></blockquote>

<p>I have no memory and no record of meeting anyone from WPScan - although I concede it is possible I did as part of a previous job.</p>

<p>But even if it was in an email signature when I contacted them that still doesn't explain how it made its way to Apollo for them to give to spammers everywhere. Was it a hack? A data leak? A treacherous employee? A deliberate sale? A sneaky app update? Or maybe just Apollo lying to me.</p>

<p>I don't care any more. I'm just so tired of shitty companies treating personal data as a commodity to be traded, sold, repackaged, and abused.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=69804&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/04/did-wordpress-vip-leak-my-phone-number/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Someone at BrowserStack is Leaking Users' Email Address]]></title>
		<link>https://shkspr.mobi/blog/2026/04/someone-at-browserstack-is-leaking-users-email-address/</link>
					<comments>https://shkspr.mobi/blog/2026/04/someone-at-browserstack-is-leaking-users-email-address/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 05 Apr 2026 11:34:03 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[gdpr]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=68665</guid>

					<description><![CDATA[Like all good nerds, I generate a unique email address for every service I sign up to. This has several advantages - it allows me to see if a message is legitimately from a service, if a service is hacked the hackers can&#039;t go credential stuffing, and I instantly know who leaked my address.  A few weeks ago I signed up for BrowserStack as I wanted to join their Open Source programme. I had a few…]]></description>
										<content:encoded><![CDATA[<p>Like all good nerds, I generate a unique email address for every service I sign up to. This has several advantages - it allows me to see if a message is legitimately from a service, if a service is hacked the hackers can't go credential stuffing, and I instantly know who leaked my address.</p>

<p>A few weeks ago I signed up for <a href="https://www.browserstack.com/">BrowserStack</a> as I wanted to join their Open Source programme. I had a few emails back-and-forth with their support team and finally got set up.</p>

<p>A couple of days later I received an email to that email address from someone other than BrowserStack. After a brief discussion, the emailer told me they got my details from Apollo.io.</p>

<p>Naturally, I reached out to Apollo to ask them where they got my details from.</p>

<p>They replied:</p>

<blockquote><p>Your email address was derived using our proprietary algorithm that leverages publicly accessible information combined with typical corporate email structures (e.g., firstname.lastname@companydomain.com).</p></blockquote>

<p>Wow! A <em>proprietary</em> algorithm, eh? I wonder how much AI it takes to work out "firstname.lastname"????</p>

<p>Obviously, their response was inaccurate. There's no way their magical if-else statement could have derived the specific email I'd used with BrowserStack. I called them out on their bullshit and they replied with:</p>

<blockquote><p>Your email address came from BrowserStack (browserstack.com) one of our customers who participates in our customer contributor network by sharing their business contacts with the Apollo platform.</p>

<p>The date of collection is 2026-02-25.</p></blockquote>

<p>So I emailed BrowserStack a simple "Hey guys, what the fuck?"</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/03/No-spam.webp" alt="Web contact form. It says &quot;No spam, we promise.&quot;" width="630" height="552" class="aligncenter size-full wp-image-68669">

<p>I love their cheery little "No spam, we promise!"</p>

<p>Despite multiple attempts to contact them, BrowserStack never replied.</p>

<p>Given that this email address was only used with one company, I think there are a few likely possibilities for how Apollo got it.</p>

<ul>
<li>BrowserStack routinely sell or give away their users' data.</li>
<li>A third-party service used by BrowserStack siphons off information to send to others.</li>
<li>An employee or contractor at BrowserStack is exfiltrating user data and transferring it elsewhere.</li>
</ul>

<p>There are other, more nefarious, explanations - but I consider that to be unlikely. I suspect it is just the normalisation of the shabby trade in personal information undertaken by entities with no respect for privacy.</p>

<p>But, it turns out, it gets worse. My next blog post reveals how Apollo got my phone number from from a <em>very</em> big company.</p>

<p>Be seeing you 👌</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=68665&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/04/someone-at-browserstack-is-leaking-users-email-address/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Preventing NAPTR Spam]]></title>
		<link>https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/</link>
					<comments>https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 18 Aug 2025 11:34:47 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=61707</guid>

					<description><![CDATA[You&#039;re the sort of cool nerd who knows all the weird esoterica which makes up DNS, right? In amongst your A, AAAA, SOA, and MX records, there&#039;s a little used NAPTR. Yes, you can use DNS to store Name Authority Pointers!  What?!  It is yet another of those baroque standards which spits out things like:  cid.uri.arpa. ;;       order pref flags service        regexp           replacement IN NAPTR…]]></description>
										<content:encoded><![CDATA[<p>You're the sort of cool nerd who knows all the weird esoterica which makes up DNS, right? In amongst your A, AAAA, SOA, and MX records, there's a little used <a href="https://dn.org/understanding-naptr-records-and-their-role-in-dns/">NAPTR</a>. Yes, you can use DNS to store Name Authority Pointers!</p>

<p>What?!</p>

<p>It is yet another of those <a href="https://shkspr.mobi/blog/2015/11/a-polite-way-to-say-ridiculously-complicated/">baroque</a> standards which spits out things like:</p>

<pre><code class="language-_">cid.uri.arpa.
;;       order pref flags service        regexp           replacement
IN NAPTR 100   10   ""    ""  "!^cid:.+@([^\.]+\.)(.*)$!\2!i"    .
</code></pre>

<p>Essentially, it is a way to store contact details within a DNS record (rather than in a WHOIS record).</p>

<p>Back in the early 2000s, the dotTel company opened the .tel TLD with a promise that it could be used to store your contact details in DNS<sup id="fnref:history"><a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fn:history" class="footnote-ref" title="Even back in 2009 I didn't think it was terribly compelling. By 2013, it was almost dead. And in 2017 it became just another generic TLD." role="doc-noteref">0</a></sup>.  The idea was simple, rather than storing my phone number in your address book, you'd store my domain name - <a href="https://edent.tel/">https://edent.tel/</a></p>

<p>If I updated my phone number, changed my avatar, or deleted an old email address - your address book would automatically update via DNS. Nifty!</p>

<p>If you didn't know a company's phone number, you'd dial <code>example.com</code> on your phone and it would grab the phone numbers from DNS. Wowsers trousers!</p>

<p>You can see an example by running:</p>

<pre><code class="language-_">dig justin.tel NAPTR
</code></pre>

<p>You'll get back something like:</p>

<pre><code class="language-_">NAPTR   100 101 "u" "E2U+web:http" "!^.*$!http://justinkhayward.com!" 
</code></pre>

<p>A phone number stored in a NAPTR would look something like:</p>

<pre><code class="language-_">NAPTR   100 100 "u" "E2U+voice:tel" "!^.*$!tel:+442074676450!" .
</code></pre>

<p>Brilliant! But there's a problem - aside from the somewhat obtuse syntax! - and that problem is spam.</p>

<p>Those of you old enough to remember putting your unexpurgated contact details into WHOIS know that the minute it went live you were bombarded with sales calls and scammy emails. So putting your details directly into DNS is a bad idea, right?</p>

<p>.tel thought they'd come up with a clever hack to prevent that. As they explain in <a href="https://web.archive.org/web/20120504070307/https://dev.telnic.org/docs/privacy.pdf">the .tel privacy paper</a>, records can be individually encrypted.</p>

<ul>
<li>Alice has her contact details on <code>alice.tel</code></li>
<li>Bob has his contact details on <code>bob.tel</code></li>
<li>Alice agrees to share her phone number with Bob.</li>
<li>Alice looks up Bob's public key from <code>bob.tel</code>.</li>
<li>Alice encrypts her phone number.</li>
<li>Alice generates a new DNS record specifically for Bob - <code>bob123456.alice.tel</code></li>
<li>Alice shares the name of the new record with Bob.</li>
<li>Bob downloads the NAPTR from <code>bob123456.alice.tel</code> and decrypts it with his private key.</li>
<li>Bob periodically checks for updates.</li>
<li>Alice can decide to revoke Bob's access by removing the data or subdomain.</li>
</ul>

<p>Clever! If convoluted.  You can <a href="https://rikkles.blogspot.com/2008/05/privacy-in-tel.html">read more about the way friendships and public keys were managed</a> and <a href="https://web.archive.org/web/20120504073313/https://dev.telnic.org/docs/naptr.pdf">some more technical details</a>.</p>

<p>Are there better ways?</p>

<h2 id="multi-recipient-encryption"><a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#multi-recipient-encryption">Multi Recipient Encryption</a></h2>

<p>When people say "you can't give Government a secret key to your private messages" they are technically incorrect<sup id="fnref:worst"><a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fn:worst" class="footnote-ref" title="The worst type of incorrect." role="doc-noteref">1</a></sup>.  Multi Recipient Encryption is a thing.</p>

<p>Here's a very simplified and subtly wrong explanation:</p>

<ul>
<li>Alice creates a <em>temporary</em> public/private keypair.</li>
<li>Alice encrypts some text with her temporary public key - resulting in <code>e</code>.</li>
<li>Alice encrypts the temporary private key with Bob's public key - resulting in <code>k1</code>.</li>
<li>Alice encrypts the temporary private key with Charlie's public key - resulting in <code>k2</code>.</li>
<li>Alice publishes the concatenation of <code>e+k1+k2</code></li>
<li>Bob downloads the file, decrypts <em>his</em> version of the key, and uses that to decrypt the message.</li>
<li>Charlie does the same.</li>
</ul>

<p>In this way, both recipients are able to decipher the text but no one else can.  So can we just shove an encrypted record in the NAPTR?  Not quite.</p>

<p>There are two main problems with this for DNS purposes.</p>

<ol>
<li>The encrypted size grows with every recipient.</li>
<li>Every time a new recipient is added, everyone needs to download the data again even if it is unchanged.</li>
</ol>

<p>Generally speaking, DNS records are a maximum of 255 characters - <a href="https://kb.isc.org/docs/aa-00356">although they can be concatenated</a>.</p>

<p>An extra record could be used to say when the plaintext was last updated - which would let existing recipients know not to download it again.</p>

<p>Monitoring for changes would allow a user to know roughly how many recipients had been added or removed.</p>

<p>What other ways could there be?</p>

<h2 id="what-else-could-be-done"><a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#what-else-could-be-done">What else could be done?</a></h2>

<p>Here's the user story.</p>

<ul>
<li>I want a friend to subscribe to my [phone|email|street|social media] address(es).</li>
<li>I must be able to pre-approve access.</li>
<li>When I change my address, my friend should get my new details.</li>
<li>I need to be able to revoke people's access.</li>
<li>This should be done via DNS<sup id="fnref:dns"><a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fn:dns" class="footnote-ref" title="Why DNS? Because I like making life difficult." role="doc-noteref">2</a></sup>.</li>
</ul>

<p>Using an API this would be playing on easy mode. A friend (or rather, their app) would request an API key from my service. I would approve it, and then ✨magic✨.</p>

<p>DNS isn't <em>technically</em> an API although, with enough effort, you could make it behave like one<sup id="fnref:marquis"><a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fn:marquis" class="footnote-ref" title="If you were a sadist!" role="doc-noteref">3</a></sup>.</p>

<p>So - how would <em>you</em> do it?</p>

<div id="footnotes" role="doc-endnotes">
<hr>
<ol start="0">

<li id="fn:history">
<p>Even back in 2009 <a href="https://shkspr.mobi/blog/2009/03/some-thoughts-on-tel/">I didn't think it was terribly compelling</a>. By 2013, <a href="https://shkspr.mobi/blog/2013/03/should-i-renew-my-tel-domain/">it was almost dead</a>. And in 2017 <a href="https://shkspr.mobi/blog/2017/02/whats-the-future-for-the-tel-domain-name/">it became just another generic TLD</a>.&nbsp;<a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fnref:history" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:worst">
<p>The <em>worst</em> type of incorrect.&nbsp;<a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fnref:worst" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:dns">
<p>Why DNS? Because I like making life difficult.&nbsp;<a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fnref:dns" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:marquis">
<p>If you were a sadist!&nbsp;<a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fnref:marquis" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=61707&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The NHS shouldn't outsource its QR codes]]></title>
		<link>https://shkspr.mobi/blog/2025/06/the-nhs-shouldnt-outsource-its-qr-codes/</link>
					<comments>https://shkspr.mobi/blog/2025/06/the-nhs-shouldnt-outsource-its-qr-codes/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 03 Jun 2025 11:34:04 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[gdpr]]></category>
		<category><![CDATA[nhs]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[qr]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=60954</guid>

					<description><![CDATA[QR codes are brilliant. They&#039;re a simple way to allow users to easily and quickly go to the right URl - no matter how complex. No more worrying about typing in long addresses or figuring out if that&#039;s a letter O or the number O. Scan and go!  The best thing about QR codes is that they&#039;re free. It doesn&#039;t cost any money to generate one. They&#039;re an open standard with no middle-men. Users can go…]]></description>
										<content:encoded><![CDATA[<p>QR codes are brilliant. They're a simple way to allow users to easily and quickly go to the right URl - no matter how complex. No more worrying about typing in long addresses or figuring out if that's a letter O or the number O. Scan and go!</p>

<p>The best thing about QR codes is that they're free. It doesn't cost any money to generate one. They're an open standard with no middle-men. Users can go direct to your site!</p>

<p>Except… Some people want to insert themselves into your conversation. Sometimes it is for malicious reasons, sometimes it is greed for user data, and sometimes it is just incompetence.</p>

<p>Let's take this example - a health centre wants people to register. Scan the QR and get started. Fab!</p>

<p><img src="https://shkspr.mobi/blog/wp-content/uploads/2025/05/registerQR.webp" alt="QR code on an NHS branded poster." width="982" height="1220" class="aligncenter size-full wp-image-60956">
<small>Photo shamelessly stolen from a LinkedIn contact.</small></p>

<p>But what happens when you scan the QR code?  Rather than taking you directly to an authoritative and trusted NHS.UK domain name, it sends you through <code>https://register-with-gp.ht1.uk/</code>.</p>

<h2 id="who-on-earth-are-ht1-uk"><a href="https://shkspr.mobi/blog/2025/06/the-nhs-shouldnt-outsource-its-qr-codes/#who-on-earth-are-ht1-uk">Who on earth are HT1.UK?</a></h2>

<p>According to <a href="https://www.healthtech1.uk/">their website</a>, they're an automation company who are "on a mission to make the NHS the most advanced healthcare system in the world."</p>

<p>Good for them. But what information are they collecting about users who traverse through their QR codes? If you take a look at <a href="https://docs.healthtech1.uk/general-privacy-policy">their privacy policy</a> you won't find anything specific.  Never mind, let's email their friendly privacy team. What's their email address?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/05/emailthem.webp" alt="Screenshot of terms and conditions with an hello email address." width="1024" height="406" class="aligncenter size-full wp-image-60957">

<p>Of course, emailing that gets you back this error:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/05/ht1email.webp" alt="Hey there 👋 This email inbox is not monitored. Please get in touch with us at support@healthtech1.uk Thanks, Team at Healthtech-1" width="529" class="aligncenter size-full wp-image-60955">

<p>Emoji! How fun!!</p>

<p>So I emailed the new address to see what information they were collecting. Their response wasn't particularly informative.</p>

<blockquote><p>because Healthtech-1 is a processor of information and the GP practice is the data controller any requests about how your data is handled should be made to the GP practice who can inform you of the information you requested.</p>

<p>…</p>

<p>I can confirm that there is no information stored about users who scan the QR codes and no cookies placed.</p></blockquote>

<p>But, of course, users have no way of verifying what this company is storing about them. There's simply no reason to use an untrusted 3rd party like this to provide either a QR code or an intermediary website.</p>

<h2 id="why-this-is-a-problem"><a href="https://shkspr.mobi/blog/2025/06/the-nhs-shouldnt-outsource-its-qr-codes/#why-this-is-a-problem">Why this is a problem</a></h2>

<p>Trust is everything. People are <em>constantly</em> being scammed. One of the great things that GOV.UK did was to say "This here is our trusted brand. If you don't see GOV.UK in the URl bar - don't trust it!"</p>

<p>The NHS should be doing the same. Every hospital, surgery, and clinic should have an NHS.UK domain name. When a user sees a link to a healthcare service which <em>doesn't</em> go through NHS.UK, they should feel suspicious and not click on it.</p>

<p>There is no way as a regular user to know that HT1.UK is a trusted domain. What about HT1.biz? HT2.UK? NHS.info.ly?  What happens if HT1 go bust or have their domain name hijacked?</p>

<p>The NHS must stop the proliferation of these 3rd party domain names. They need to reinforce users' understanding that NHS.UK is the <em>only</em> trusted domain name for official NHS services.</p>

<p>I'm sure HT1.UK aren't doing anything nefarious with the data of people who visit their QR codes. I'm sure they're not inserting tracking cookies or selling my data. But I shouldn't have to be sure. All users should be pointed <em>directly</em> to an NHS.UK domain without having to risk whether their details are going via a dodgy site.</p>

<p>Here endeth the rant.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=60954&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/06/the-nhs-shouldnt-outsource-its-qr-codes/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[No, ActivityPub votes aren't anonymous]]></title>
		<link>https://shkspr.mobi/blog/2024/09/no-activitypub-isnt-anonymous/</link>
					<comments>https://shkspr.mobi/blog/2024/09/no-activitypub-isnt-anonymous/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 09 Sep 2024 11:34:07 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[ActivityPub]]></category>
		<category><![CDATA[fediverse]]></category>
		<category><![CDATA[mastodon]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=52999</guid>

					<description><![CDATA[Several years ago, I posted this poll on Twitter.  Terence Eden is on Mastodon@edentIf the recent Twitter hack had exposed they way you voted on every Twitter poll, how would you feel?(There is no suggestion that this has happened, I&#039;m just curious about people&#039;s relationships to voting and privacy.)Meh. So what?: (167)167Hmph. That&#039;s annoying.: (68)68Umm… This could be bad!: (32)32Delete account …]]></description>
										<content:encoded><![CDATA[<p>Several years ago, I posted this poll on Twitter.</p>

<blockquote class="social-embed" id="social-embed-1286178187937042432" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">If the recent Twitter hack had exposed they way you voted on every Twitter poll, how would you feel?<br><br>(There is no suggestion that this has happened, I'm just curious about people's relationships to voting and privacy.)<hr class="social-embed-hr"><label for="poll_1_count">Meh. So what?: (167)</label><br><meter class="social-embed-meter" id="poll_1_count" min="0" max="100" low="33" high="66" value="60.7">167</meter><br><label for="poll_2_count">Hmph. That's annoying.: (68)</label><br><meter class="social-embed-meter" id="poll_2_count" min="0" max="100" low="33" high="66" value="24.7">68</meter><br><label for="poll_3_count">Umm… This could be bad!: (32)</label><br><meter class="social-embed-meter" id="poll_3_count" min="0" max="100" low="33" high="66" value="11.6">32</meter><br><label for="poll_4_count">Delete account &amp; run away: (8)</label><br><meter class="social-embed-meter" id="poll_4_count" min="0" max="100" low="33" high="66" value="2.9">8</meter></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/1286178187937042432"><span aria-label="0 likes" class="social-embed-meta">❤️ 0</span><span aria-label="8 replies" class="social-embed-meta">💬 8</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2020-07-23T05:55:50.000Z" itemprop="datePublished">05:55 - Thu 23 July 2020</time></a></footer></blockquote>

<p>Most of the tech world that I interact with has moved to Mastodon and other ActivityPub-based social networks.  Decentralised social media is <em>great</em>. It allows you to be fully in control of what you post, what you see, and how you interact with others.</p>

<p>Of course, there are downsides. No centralised authorities means verification is difficult. Abuse (of all sorts) can only be dealt with in a piecemeal fashion. And anonymity takes a bit of a nosedive.</p>

<p>When you block or mute someone, that information <a href="https://shkspr.mobi/blog/2023/07/fediverse-account-portability-and-blocking/">might leak to the offending user</a>. By its nature, you need to send a message to someone else's server in order to interact with them.</p>

<p>So what about polls on the Fediverse?  This poll, for example, is gathering sensitive personal information.</p>

<blockquote class="social-embed" id="social-embed-113079948257450773" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://blackrock.city/@farooqkz" class="social-embed-user" itemprop="url"><img class="social-embed-avatar" src="https://files.mastodon.social/cache/accounts/avatars/110/487/620/471/518/769/original/8e8c3e9b9b7b122e.png" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">@farooqkz@blackrock.city</p>Farooq Karimi Zadeh</div></a><img class="social-embed-logo" alt="Mastodon" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='Mastodon' role='img' viewBox='0 0 512 512' fill='%23fff'%3E%3Cpath d='m0 0H512V512H0'/%3E%3ClinearGradient id='a' y2='1'%3E%3Cstop offset='0' stop-color='%236364ff'/%3E%3Cstop offset='1' stop-color='%23563acc'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M317 381q-124 28-123-39 69 15 149 2 67-13 72-80 3-101-3-116-19-49-72-58-98-10-162 0-56 10-75 58-12 31-3 147 3 32 9 53 13 46 70 69 83 23 138-9'/%3E%3Cpath d='M360 293h-36v-93q-1-26-29-23-20 3-20 34v47h-36v-47q0-31-20-34-30-3-30 28v88h-36v-91q1-51 44-60 33-5 51 21l9 15 9-15q16-26 51-21 43 9 43 60'/%3E%3C/svg%3E"></header><section class="social-embed-text" itemprop="articleBody"><p>Let's see how many Muslims are out there on Fediverse. Are you a <a href="https://blackrock.city/tags/muslim" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>muslim</span></a>? </p><p><a href="https://blackrock.city/tags/Islam" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Islam</span></a> <a href="https://blackrock.city/tags/Religion" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Religion</span></a> <a href="https://blackrock.city/tags/God" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>God</span></a> </p><p>Please boost it so we can have more accurate statistics.</p><div class="social-embed-media-grid"></div><hr class="social-embed-hr"><label for="poll_0">I am a Muslim: (62)</label><br><meter class="social-embed-meter" id="poll_0" min="0" max="100" low="33" high="66" value="1.6">62</meter><br><label for="poll_1">Not a Muslim: (3,696)</label><br><meter class="social-embed-meter" id="poll_1" min="0" max="100" low="33" high="66" value="98.4">3696</meter><br></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://blackrock.city/@farooqkz/113079948160094406"><span aria-label="11 likes" class="social-embed-meta">❤️ 11</span><span aria-label="30 replies" class="social-embed-meta">💬 30</span><span aria-label="874 reposts" class="social-embed-meta">🔁 874</span><time datetime="2024-09-04T15:17:56.000Z" itemprop="datePublished">15:17 - Wed 04 September 2024</time></a></footer></blockquote>

<p>In order to vote on the poll, your server sends a message to the poll's server saying "I am user @someone@example.com. I wish to vote for option X. Here is an HTTP signature confirming my message."</p>

<p>Does the receiving server abide by GDPR? Who knows!</p>

<p>The <a href="https://www.w3.org/TR/activitystreams-vocabulary/#questions">specification around questions</a> is a little ill-defined and the <a href="https://docs.joinmastodon.org/methods/polls/#vote">Mastodon documentation</a> is also a bit vague. Neither of them discuss privacy.</p>

<p>There is an <a href="https://humberto.io/blog/mastodon_poll_in_activitypub/">excellent blog post by Humberto Rocha looking at Mastodon Poll in ActivityPub</a>. It shows quite clearly that a vote is just a normal message which is passed onto the receiving server.</p>

<p>Services like Mastodon won't let the poll's author see who voted for which option. But that's by convention. There's nothing technical to stop them. Indeed, I understand that <a href="https://outerheaven.club/notice/Aln6q1bVGpyToIx7J2">the Akkoma social network <em>does</em> show users how users voted</a>.</p>

<p>Of course, on a centralised service like Facebook or Twitter your vote is still recorded somewhere. It can be subpoenaed or looked at by unscrupulous engineers.</p>

<p>Privacy is, of course, a social construct. In some communities it might be sensible to have all votes on the public record. In others, it could be deadly.  Some countries have laws mandating strong privacy protections, others less so.</p>

<p>Conduct yourself with that in mind!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=52999&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/09/no-activitypub-isnt-anonymous/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Book Review: Understanding Privacy - Heather Burns ★★★★★]]></title>
		<link>https://shkspr.mobi/blog/2024/05/book-review-understanding-privacy-heather-burns/</link>
					<comments>https://shkspr.mobi/blog/2024/05/book-review-understanding-privacy-heather-burns/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 26 May 2024 11:34:56 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Book Review]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=50641</guid>

					<description><![CDATA[Heather Burns has an absolutely deft way of turning the sometimes-dull world of digital privacy into entertaining, informative, and actionable prose.  Too many of these sorts of books end up being a list of woes and end with &#34;someone should do something, I guess?&#34;.  Understanding Privacy is different. All the way through the mantra is &#34;You are someone! You do something! And here&#039;s how...&#34; …]]></description>
										<content:encoded><![CDATA[<p><img src="https://shkspr.mobi/blog/wp-content/uploads/2024/05/cover.jpg" alt="Book cover for Understanding Privacy." width="200" class="alignleft size-full wp-image-50642">Heather Burns has an absolutely deft way of turning the sometimes-dull world of digital privacy into entertaining, informative, and <em>actionable</em> prose.</p>

<p>Too many of these sorts of books end up being a list of woes and end with "someone should do something, I guess?".  Understanding Privacy is different. All the way through the mantra is "<em>You</em> are someone! <em>You</em> do something! And here's how..."</p>

<p>Digital privacy is, I think it is fair to say, not a universally loved topic. Too often it is seen as shrill pedants lobbing fines at unsuspecting companies. The reality is somewhat more prosaic. This is a journey we all have to go on - wherever we work in the digital world.</p>

<p>It would be easy for this book to descend into just being a mega-long checklist. But, while there are a fair few lists, they are backed up with practical steps which can be taken by both people and companies.  Some of them are wickedly witty:</p>

<blockquote><p>Please use <a href="https://,">https://,</a> because seeing http:// this late in the game is not the sort of ’90s flashback I enjoy.</p></blockquote>

<p>I especially enjoyed the reframing of certain privacy mavens as "privacy ableists" - those who "criticise a person with a disability for owning an Alexa device, taking no regard for the benefit it has brought into the disabled person’s life."</p>

<p>I also got emotional whiplash after hearing some people described as "privacy shamers" - those who "harass anyone who is doing their best to change tech companies from the inside as being collaborators on par with the Vichy regime."</p>

<p>The book is full of interesting links out to further resources. Although, I should point out that links like <a href="https://smashed.by/cnilrights"></a><a href="https://smashed.by/cnilrights">https://smashed.by/cnilrights</a> go via the <a href="https://short.io/privacy">short.io</a> service. Which probably makes me a privacy pedant 😆.</p>

<p>This is an empowering read. It isn't designed to make you feel hopeless at the state of the world but, instead, it asks you to reflect on what you're doing and what you should be doing.</p>

<blockquote><p>The final question should be the one which weighs on you heaviest: How am I going to feel about myself if I continue to work for this company and develop this product?</p></blockquote>

<p>Read this book as soon as you can.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=50641&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/05/book-review-understanding-privacy-heather-burns/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[What the UK Government gets wrong about QR codes]]></title>
		<link>https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/</link>
					<comments>https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 20 Mar 2024 12:34:04 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[gov.uk]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[QR Codes]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=49986</guid>

					<description><![CDATA[One of my most memorable experiences in the Civil Service was discussing link shortening services with a very friendly person from the Foreign and Commonwealth Office.  I was trying to explain why link shortners like bit.ly and ow.ly weren&#039;t sensible for Government use. They didn&#039;t seem to particularly care about the privacy implications or the risk of phishing.  I needed to take a different…]]></description>
										<content:encoded><![CDATA[<p>One of my most memorable experiences in the Civil Service<sup id="fnref:cs"><a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#fn:cs" class="footnote-ref" title="I am no longer a Civil Servant. The Government's views are not my own. And vice-versa." role="doc-noteref">0</a></sup> was discussing link shortening services with a very friendly<sup id="fnref:friend"><a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#fn:friend" class="footnote-ref" title="But not so friendly that they'd tell me their surname..." role="doc-noteref">1</a></sup> person from the Foreign and Commonwealth Office.</p>

<p>I was trying to explain why link shortners like bit.ly and ow.ly weren't sensible for Government use. They didn't seem to particularly care about <a href="https://shkspr.mobi/blog/2020/02/bitly-finally-starts-taking-privacy-seriously/">the privacy implications</a> or the risk of phishing.  I needed to take a different tack.</p>

<p>"So, you know how .uk is the UK and .de is Germany, right?"<br>
"Yes."<br>
"What country do you think .ly is for?"</p>

<p>There was some consulting of <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#LY">ISO 3166-1 alpha-2</a> whereupon the blood drained from their face and they stepped outside to make a phone call.</p>

<p>A little while later, the <a href="https://webarchive.nationalarchives.gov.uk/ukgwa/20220301154404/https://www.ncsc.gov.uk/blog-post/long-and-short-it">National Cyber Security Centre published an explainer about why they weren't using bit.ly any more</a>.</p>

<p>Throughout my time in the Civil Service I advocated for the use of .gov.uk URls everywhere. They're a trusted destination for users, they're under Government control so are less likely to be hijacked, and they don't require users to give their data to third parties.</p>

<p>I helped the Government Communication Service write "<a href="https://gcs.civilservice.gov.uk/blog/link-shorteners-the-long-and-short-of-why-you-shouldnt-use-them/">Link shorteners: the long and short of why you shouldn’t use them</a>."</p>

<p>Today, in the post, I received <strong>six</strong> QR codes for Government services.  Let's take a look at them.</p>

<h2 id="the-good"><a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#the-good">The Good</a></h2>

<p>Policing Surrey have a QR code which points to <code>surrey-pcc.gov.uk/...</code></p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/PCC.jpg" alt="A leaflet for Surrey Police." width="504" height="512" class="aligncenter size-full wp-image-49992">

<p>Excellent! 10/10! No notes.</p>

<p>Woking Council send out this code which use <code>qr.woking.gov.uk</code></p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/Woking.jpg" alt="A letter about council tax." width="504" height="512" class="aligncenter size-full wp-image-49989">

<p>Brilliant! The use of the <code>qr.</code> subdomain means they can easily track how many people follow the link from the code.</p>

<h2 id="the-bad"><a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#the-bad">The Bad</a></h2>

<p>Childcare Choices is a leaflet which is, I assume, shoved through everyone's letterbox.  All the URls in the leaflet say <code>gov.uk</code><sup id="fnref:brand"><a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#fn:brand" class="footnote-ref" title="When I was there, the &quot;Brand Police&quot; were insistent that it should be referred to as GOV.UK in all-caps. The leaflet exclusively uses the lower-case version. Sorry Neil!" role="doc-noteref">2</a></sup> - but what happens when you scan?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/ChildCare-QR.jpg" alt="A leaflet for Childcare with a prominent QR code." width="504" height="256" class="aligncenter size-full wp-image-49993">

<p>Our old <del>friend</del> enemy Bitly. A user scanning this has no idea where that code will take them. They cannot access the content without giving their data away to Bitly.</p>

<p>Surrey also sent me a leaflet with <strong>two</strong> different QR codes.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/Surrey2.jpg" alt="A leaflet for Surrey - the QR code points to scnv.io." width="504" height="256" class="aligncenter size-full wp-image-49990">

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/Surrey1.jpg" alt="A leaflet for Surrey - the QR code points to scnv.io." width="504" height="256" class="aligncenter size-full wp-image-49991">

<p>There <a href="https://www.beep.blog/io/">are many reasons not to use .io</a>. Of particular interest is the <a href="https://scnv.io/">scnv.io privacy policy</a> which, if you click that link, you will see is missing from their website! What does this company do with the data of people who scan that code? No one knows!</p>

<h2 id="the-ugly"><a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#the-ugly">The Ugly</a></h2>

<p>Surrey police started <em>so</em> well, but the back of their leaflet is a major disappointment.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/PCC2.jpg" alt="A police leaflet. The QR code is almost invisible." width="504" height="512" class="aligncenter size-full wp-image-49988">

<p>Aside from using an unintelligible Bitly link, the QR code is inverted. The QR standard is very clear that the codes should be black-on-white. Some scanners will have difficulty scanning these white-on-dark codes. They may look æsthetically pleasing, but it's a pretty rubbish experience if you can't scan them.</p>

<h2 id="now-what"><a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#now-what">Now What?</a></h2>

<p><a href="https://shkspr.mobi/blog/2007/12/qr-codes/">I've been writing about QR codes for <em>17 years!</em></a> I'm thrilled that they've finally caught on. But, like any piece of technology, they need to be used sensibly. The <a href="https://shkspr.mobi/blog/2011/05/you-are-too-stupid-to-use-qr-codes-correctly/">rules are pretty straightforward</a> - mostly boiling down to testing your codes and keeping them simple.</p>

<p>Is there a risk <a href="https://shkspr.mobi/blog/2011/12/how-to-prevent-qr-hijacking/">risk of QR hijacking</a>? Possibly. The best defence is to train users to look for a trusted URl.</p>

<p>In this case, using link shorteners is training users to be phished. If they are used to official Government QR codes going to weird locations, they won't notice when a scammer tries to send them to a dodgy site.</p>

<p>Please practice safe QR generation!</p>

<div id="footnotes" role="doc-endnotes">
<hr>
<ol start="0">

<li id="fn:cs">
<p>I am no longer a Civil Servant. The Government's views are not my own. And vice-versa.&nbsp;<a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#fnref:cs" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:friend">
<p>But not so friendly that they'd tell me their surname...&nbsp;<a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#fnref:friend" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:brand">
<p>When I was there, the "Brand Police" were insistent that it should be referred to as GOV.UK in all-caps. The leaflet exclusively uses the lower-case version. Sorry Neil!&nbsp;<a href="https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/#fnref:brand" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=49986&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/03/what-the-uk-government-gets-wrong-about-qr-codes/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Can you trust ProtonApps.com?]]></title>
		<link>https://shkspr.mobi/blog/2024/03/can-you-trust-protonapps-com/</link>
					<comments>https://shkspr.mobi/blog/2024/03/can-you-trust-protonapps-com/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 11 Mar 2024 12:34:41 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[Proton]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=49864</guid>

					<description><![CDATA[I&#039;ve recently signed up to the privacy-preserving service Proton.  All the email, calendar, drive, VPN, and other services seem to hang off the proton.me domain.  I wanted to download the Android apps to my phone - without using the Google Play Store.  The VPN app is on F-Droid but none of the others are. So, because I&#039;m lazy, I Googled &#34;Download Proton Mail&#34;.  I landed on…]]></description>
										<content:encoded><![CDATA[<p>I've recently signed up to the privacy-preserving service <a href="https://proton.me/">Proton</a>.  All the email, calendar, drive, VPN, and other services seem to hang off the proton.<strong>me</strong> domain.</p>

<p>I wanted to download the Android apps to my phone - without using the Google Play Store.  The <a href="https://f-droid.org/en/packages/ch.protonvpn.android/">VPN app is on F-Droid</a> but none of the others are. So, because I'm lazy, I Googled "Download Proton Mail".</p>

<p>I landed on <a href="https://protonapps.com/"></a><a href="https://protonapps.com/">https://protonapps.com/</a>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/protonapps-fs8.png" alt="Screenshot of the ProtonApps page." width="929" height="593" class="aligncenter size-full wp-image-49867">

<p>It <em>looks</em> like a genuine site. But is it?  .me is signed by Let's Encrypt, whereas .com is signed by Amazon. There is <strong>no link</strong> from Proton.me to ProtonApps.com.  There's nothing I can find that shows it is genuine.</p>

<p>But, let's assume for the moment, that it is legitimate.  What happens when you try to download the Android apps from it?</p>

<ul>
<li><p>The <a href="https://protonapps.com/protonmail-android">email app page</a> links to the <a href="https://github.com/ProtonMail/proton-mail-android/releases">ProtonMail repository on GitHub</a> - there's no link from the .me site to their GitHub. But I'm reasonably sure that's them.</p></li>
<li><p>The <a href="https://protonapps.com/protonvpn-android">VPN app page</a> leads to a <a href="https://github.com/ProtonVPN/android-app/releases"><em>different</em> GitHub organisation</a>! I don't know why they're different organisation. It isn't linked to from the the .me site, nor from the <a href="https://protonvpn.com/"></a><a href="https://protonvpn.com/">https://protonvpn.com/</a> site (yet another domain!)</p></li>
<li><p>The <a href="https://protonapps.com/protoncalendar-android">calendar app page</a> links to <a href="https://protonmail.com/download/CalendarAndroid/ProtonCalendar-Android.apk">ProtonMail.<strong>com</strong></a> - is that them?  The .com redirects to the .me, but anyone can set up a redirect.</p></li>
<li><p>The <a href="https://protonapps.com/protondrive-android">drive app page</a> and the <a href="https://protonapps.com/protonpass-android">Pass app page</a> do both link to Proton.me!</p></li>
</ul>

<p>So there are multiple domains - Proton.me, ProtonApps.com, ProtonMail.com, ProtonVPN.com - and there are at least 2 different GitHub organisations.</p>

<p>How do you tell which ones are legitimate? I signed up and paid on the .me page - so I have high confidence in it.</p>

<p>The <a href="https://mastodon.social/@protonmail/112053863641320051">official Proton Mastodon account</a> says the ProtonApps.com site is legitimate (and the Mastodon account is verified by the .me site).  But you can't expect users to chase through a dozen different pages and enquire on social media just to verify which page is safe.</p>

<p>This is my plea to <em>all</em> developers - simplify your customer-facing infrastructure to make your domains consistent &amp; trustworthy.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=49864&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/03/can-you-trust-protonapps-com/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[O2 UK's Weird MSISDN Lookup API]]></title>
		<link>https://shkspr.mobi/blog/2024/03/o2-uks-weird-msisdn-lookup-api/</link>
					<comments>https://shkspr.mobi/blog/2024/03/o2-uks-weird-msisdn-lookup-api/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 04 Mar 2024 12:34:15 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[CyberSecurity]]></category>
		<category><![CDATA[gdpr]]></category>
		<category><![CDATA[o2]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=49819</guid>

					<description><![CDATA[It&#039;s always fun keeping your network inspector tab open. While looking around the O2 UK website, I found this page all about eSIMs.  For some reason, it wants to know the user&#039;s phone number.  I put in a random number, and it refused to let me in.    Putting in a genuine O2 number let me through.  So what is it doing to validate numbers?  It is making an API call to this URl: …]]></description>
										<content:encoded><![CDATA[<p>It's always fun keeping your network inspector tab open. While looking around the O2 UK website, I found <a href="https://www.o2.co.uk/o/customer/mods/lookup/447700900000">this page all about eSIMs</a>.  For some reason, it wants to know the user's phone number.</p>

<p>I put in a random number, and it refused to let me in.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/o2esim-fs8.png" alt="Sorry, we don’t recognise this number. Please try again." width="972" height="391" class="aligncenter size-full wp-image-49821">

<p>Putting in a genuine O2 number let me through.  So what is it doing to validate numbers?</p>

<p>It is making an API call to this URl:</p>

<pre>https://www.o2.co.uk/o/customer/mods/lookup/447700900123</pre>

<p>After a bit of testing, this is how I <em>think</em> it works.</p>

<p>If you give it an O2 phone number, it replies with:</p>

<pre><code class="language-json">{&amp;quot;type&amp;quot;:&amp;quot;ONE&amp;quot;}
</code></pre>

<p>If you give it a number which <em>isn't</em> on O2, it gives:</p>

<pre><code class="language-json">{&amp;quot;type&amp;quot;:&amp;quot;ZERO&amp;quot;}
</code></pre>

<p>A number it doesn't recognise gives:</p>

<pre><code class="language-json">{&amp;quot;message&amp;quot;:&amp;quot;Unable to find the requested resource.&amp;quot;}
</code></pre>

<p>A malformed or incomplete phone number gives:</p>

<pre><code class="language-json">{&amp;quot;message&amp;quot;:&amp;quot;Something&amp;#039;s wrong. Please try again later.&amp;quot;}
</code></pre>

<h2 id="responsible-disclosure"><a href="https://shkspr.mobi/blog/2024/03/o2-uks-weird-msisdn-lookup-api/#responsible-disclosure">Responsible Disclosure?</a></h2>

<p>As far as I can tell, O2 no longer have a Bug Bounty or Responsible Disclosure offering. So I'm publishing it here to let people know.</p>

<p>It is possible that someone could use this API to disclose a (minor) piece of personal information about you - namely whether your phone number is on O2 or not.  I don't think that's particularly sensitive, but it is probably worth knowing.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=49819&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/03/o2-uks-weird-msisdn-lookup-api/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Safelinks are a fragile foundation for publishing]]></title>
		<link>https://shkspr.mobi/blog/2024/02/safelinks-are-a-fragile-foundation-for-publishing/</link>
					<comments>https://shkspr.mobi/blog/2024/02/safelinks-are-a-fragile-foundation-for-publishing/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 05 Feb 2024 12:34:10 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=49515</guid>

					<description><![CDATA[Microsoft loves you and wants to protect you. So every time you receive an email with a link in it, Microsoft Outlook helpfully rewrites it so that it goes through their &#34;safelinks&#34; system.  Safelinks allow your administrator, or someone at Microsoft, to stop you visiting a link which is malicious or suspicious.  Rather than going to example.com, your link now goes to…]]></description>
										<content:encoded><![CDATA[<p>Microsoft loves you and wants to protect you. So every time you receive an email with a link in it, Microsoft Outlook helpfully rewrites it so that it goes through their "<a href="https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/safe-links-about?view=o365-worldwide#safe-links-settings-for-email-messages">safelinks</a>" system.</p>

<p>Safelinks allow your administrator, or someone at Microsoft, to stop you visiting a link which is malicious or suspicious.  Rather than going to <code>example.com</code>, your link now goes to <code>safelinks.protection.outlook.com/?url=example.com</code>.</p>

<p>Hurrah! If you accidentally click on a naughty link you won't cause chaos and ructions.</p>

<p>Except, there's a tiny problem.  People like to copy and paste links that they receive. Someone sends an email which says "here's the link to that report you asked for" which then gets copied into a document or a web page.</p>

<p>For example, I was reading this <a href="https://assets.publishing.service.gov.uk/media/65b236c81702b10013cb1289/DHSC-Annual-report-and-accounts-2022-2023-web-accessible.pdf">official document from the UK's Department of Health and Social Care</a>. Slap bang in the middle is a link to another report:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/01/safelinks-fs8.png" alt="Screenshot showing a document. The cursor hovers over a link. The pop up shows a safelinks URl." width="903" height="275" class="aligncenter size-full wp-image-49516">

<p>That forces <em>everyone</em> who visits that link to go through Microsoft's proxy. That <em>might</em> protect users if a link later becomes suspicious. But, more likely, it will be used in analytics to further profile users who click on links. It also undermines a user's ability to see the final destination of a link unless they can manually URl-decode content in their head.</p>

<p>It appears that every large organisation which uses Microsoft is prone to this failure.  Lots of UK Government departments publish content with safelinks:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/01/safelinks-govuk-fs8.png" alt="Screenshot of Google search results for GOV.UK sites." width="1050" height="825" class="aligncenter size-full wp-image-49519"></p>

<p>The US Military too:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/01/safelinks-mil-fs8.png" alt="Screenshot of Google search results for US Military sites." width="1050" height="750" class="aligncenter size-full wp-image-49521"></p>

<p>It's all over Twitter:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/01/safelink-twitter-fs8.png" alt="Screenshot of Twitter search results." width="748" height="561" class="aligncenter size-full wp-image-49518"></p>

<p>And there are hundreds of academic works infested:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/01/safelinks-scholar-fs8.png" alt="Screenshot of Google Scholar results." width="1025" height="785" class="aligncenter size-full wp-image-49517"></p>

<p>Look, I <em>get</em> why people do this. They copy a link from an email, paste it in, click it, and it works. No one writes raw HTML by hand, nor should they have to. Our WYSIWYG tools work really well and hide all the mumbo-jumbo. Copy editors look at text; not hypertext.  It's only nerds like me who hover over a link before clicking on it.</p>

<p>Perhaps I should stop worrying? Perhaps it is OK that Microsoft intercepts the clicks from people all around the world? Perhaps they can competently run a proxy which detects and blocks inappropriate content? Perhaps they won't ever abuse that facility?</p>

<p>Here's my prediction. In the next five or so years, Microsoft is going to accidentally shut off <code>*.safelinks.protection.outlook.com</code> and a million copy-and-pasted links across the web are going to break.</p>

<p>Think I'm over-reacting?  A decade ago, <a href="https://shkspr.mobi/blog/2013/08/the-end-of-ms-tag/">Microsoft got rid of their MS Tag product</a> and, shortly after, <a href="https://scanbuy.com/microsoft-tag-transition-to-scanlife">all their proxy links were shut off</a>.  Similarly, other proxies like <a href="https://shkspr.mobi/blog/2014/08/mcafees-failure-of-trust/">McAfee have shut down with little warning</a>.</p>

<p>Or maybe <a href="https://www.zdnet.com/article/microsoft-has-a-subdomain-hijacking-problem/">Microsoft's sub-domains will be hijacked</a>?</p>

<p>Either way, if you work in digital publishing, please make sure that your links point directly to the content that you want; not to Microsoft's safelinks service.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=49515&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/02/safelinks-are-a-fragile-foundation-for-publishing/feed/</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Envelopes and GDPR]]></title>
		<link>https://shkspr.mobi/blog/2024/01/envelopes-and-gdpr/</link>
					<comments>https://shkspr.mobi/blog/2024/01/envelopes-and-gdpr/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 29 Jan 2024 12:34:05 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[gdpr]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=49170</guid>

					<description><![CDATA[Privacy is a funny concept, isn&#039;t it?  Very few people want the whole world to know what medical complaints they have. But most hospitals are open-access buildings, where the waiting rooms have large monitors to tell patients that their doctor is running late.  A few years ago I was sat in the proctology waiting room. Anyone who knew me would have seen I was waiting for an bum doctor. They may…]]></description>
										<content:encoded><![CDATA[<p>Privacy is a funny concept, isn't it?  Very few people want the whole world to know what medical complaints they have. But most hospitals are open-access buildings, where the waiting rooms have large monitors to tell patients that their doctor is running late.</p>

<p>A few years ago I was sat in the proctology waiting room. Anyone who knew me would have seen I was waiting for an bum doctor. They may not have known my <em>specific</em> complaint, but the laser-display board announced that my appointment was with Doctor X. Anyone can look up Doctor X online and see that they specialise in removing foreign objects which have mysteriously found their way inside a person. Whither privacy?</p>

<p>But that's the kind of trade-off we make. It would be expensive to have individual waiting cubicles. And most people aren't famous enough to be recognised in public. And the chances of your neighbour also being in hospital are slim. Any you might just be waiting for a friend. So we sort of hand-wave it away because it is a small but difficult problem to solve.</p>

<p>Anyway, a few months later, I received a letter from the hospital. It was delivered in a plain envelope with no hospital markings. The return address was a suitably anonymous bulk mailing service. There were no warning markings to say this was a medical letter. There is no way that my postman, my housemate, or my cleaner would have known what the letter was about.</p>

<p>But see if you can spot the incredibly subtle mistake that was made:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/12/ae52feb952b43531.jpg" alt="A letter addressed to me. Just inside the plastic window you can see the word &quot;colonoscopies&quot;." width="1024" height="768" class="aligncenter size-full wp-image-49171">

<p>Printing a physical letter on paper and then folding it in such a way that both the address is displayed <em>and</em> the paper cannot slip is a surprisingly hard problem. I get letters from lots of organisations where this has happened.</p>

<p>But, before lighting up the pitchforks, what's the real harm that has occurred here and how could it be prevented?</p>

<p>My postie now knows some of my medical info. That's assuming they bothered reading past the address, and that they remember anything specific from the 500 letters they had that day.  My postie seems nice enough - but I don't doubt that a postal worker <em>somewhere</em> could use this to blackmail or intimidate a vulnerable person.</p>

<p>Anyone with access to my letterbox, and who gets there before me, also has sight of my information.  Again, I tend to trust the people I let in. But not everyone is so lucky. A sufficiently abusive person would have opened the letter regardless of what they saw.</p>

<p>A fully paper envelope with no plastic window reduces one specific class of error - but may be too expensive to implement at scale.  And, of course, if there's no window then there is the chance that the wrong letter might go into an envelope addressed to someone else.</p>

<p>Would going digital solve this? Email is <em>mostly</em> end-to-end encrypted between the big providers, so it would be unlikely that anyone saw it as it was being delivered.</p>

<p>Most email clients show the first few lines of a message - and some of them will show that preview as a pop-up on a locked phone.  So anyone with access to your device <em>could</em> see something untoward. A sender name and subject have to be useful to the receiver - but is "FROM: Proctology. RE: The object we pulled out of you" too revealing?</p>

<p>An email could be fairly anonymous and link to a download portal of the real message. But that's quite a lot of work for a user to do.  And an abuser could still have access to your device.</p>

<p>An email encrypted with your public key and send with a cryptic subject line is the sort of theoretical magic that geeks love, while forgetting that most people reuse their passwords and leave their laptops unlocked in the coffee shop.</p>

<p>What I'm getting at is that there's no <em>perfect</em> solution.  Only incremental changes which may introduce a new class of problem.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=49170&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/01/envelopes-and-gdpr/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[I don't think you need to be civil to puppy-smashers]]></title>
		<link>https://shkspr.mobi/blog/2023/08/i-dont-think-you-need-to-be-civil-to-puppy-smashers/</link>
					<comments>https://shkspr.mobi/blog/2023/08/i-dont-think-you-need-to-be-civil-to-puppy-smashers/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 01 Aug 2023 11:34:10 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=46464</guid>

					<description><![CDATA[My good friend Jess wrote this a little while ago:  Jessica Rose@jesslynnroseThe function of a system is its output.If you have dog grooming machine that sometimes smashes puppies and you keep running it, you&#039;re in the dog smashing business.If you work for a mass surveillance company that keeps enabling genocide and undermining democracy...❤️ 2,323💬 23🔁 013:19 - Thu 07 January 2021  The whole thre…]]></description>
										<content:encoded><![CDATA[<p>My good friend Jess wrote this a little while ago:</p>

<blockquote class="social-embed" id="social-embed-1347170900706263041" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/jesslynnrose" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRuYBAABXRUJQVlA4INoBAABwCgCdASowADAAPrVKnUmnJCKhKq1Q4BaJZgCdM0q9xjxFz1zzdVxuTmg82LD0o4CVFa29xKQUTYpw8DfqFOuWXgrJC/ZlHxrxH7etc8XskwlaxteZKxbI+M5AAAD+/rc5WOIdVP7k6cw0EXHSnj65cRH+HhAs2wF0lzAMrjdIhnHGkljJILOfuHv81JJkhv55JEUxYmyaOw4ncF/fjiWAh26+S0zOwFfrsiQ1weJhhMOwR/xdsD39RHqmYjqYs8wGddQiG+AUP8Ft8IS9AirOMe2Z62jLqYEia77KAAK6KH1jpYUnFVmeRCyC9fak7dC9nbHZb/q9oNkWW6nxIJiJxaSKBsI5Cyt8zKSiH6YNoYEmbv41mcItQjrYyrnDGeEWGGIk6RlZ0jDYBNuWm7TtI0GL7/nDmnnZRG4T2xtf2NNxAT3hHvbQfdv0848EsemO+tD6GmadaAEW+uqJRwKPfbtq8igaxeA8RUOXB+Q72xGwocz+6ZppJ4T3+7vN6lcdQ1acT7cIuLQxH7N/yLSF9NIrwBGHNmKuMhKevxetS9A/lkjM+L1v8oBbe9nw8W8VZdxYEH4cweInNdOSTI4oA3UuCjBMENc2WAuIPpY9F207prCuPoRu4AA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Jessica Rose</p>@jesslynnrose</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">The function of a system is its output.<br><br>If you have dog grooming machine that sometimes smashes puppies and you keep running it, you're in the dog smashing business.<br><br>If you work for a mass surveillance company that keeps enabling genocide and undermining democracy...</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/jesslynnrose/status/1347170900706263041"><span aria-label="2323 likes" class="social-embed-meta">❤️ 2,323</span><span aria-label="23 replies" class="social-embed-meta">💬 23</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-01-07T13:19:06.000Z" itemprop="datePublished">13:19 - Thu 07 January 2021</time></a></footer></blockquote>

<p>The whole thread is worth reading. One thing she doesn't cover is how you should respond when someone proposes to implement a puppy-smashing machine.</p>

<p>If you don't agree with puppy-smashing (and there are two sides to every argument) then it's very important to be polite and civil while discussing the issue - because puppy-smashers are real people with valid feelings.</p>

<p>For example, you could say to them:</p>

<ul>
<li>I'm not so sure that's a great idea. Please would you reconsider?</li>
<li>Hey, just so you know, not everyone is down for puppy smashing. Any thoughts on addressing that?</li>
<li>Interesting. But have you read <em>Smith et al</em>'s work on differential smashing of pets?</li>
<li>You're the good guys! Is there any way you can exclude my puppy from being smashed? He's a service dog.</li>
<li>Perhaps you could only smash puppies 10% of the time? No worries if not!!!</li>
</ul>

<p>And so on. That way you get to have a calm and respectful decision about the the hard work people are doing.  Even if someone is threatening to smash <em>your</em> puppy, you need to keep a cool head and make sure you don't raise your voice.</p>

<p>Right?</p>

<p>No.</p>

<p>The <em>correct</em> response is "What the actual juddering fuck is wrong with you? Don't be such an absolute thundercunt! I'm going to call the authorities right now, you literal scumbag!"</p>

<p>It was <a href="https://web.archive.org/web/20210820211909/https://twitter.com/SonofBaldwin/status/1325516933178028032">Robert Jones, Jr. who said</a>: "We can disagree and still love each other. Unless your disagreement is rooted in my oppression, your denial of my humanity, my right to exist."<sup id="fnref:baldwin"><a href="https://shkspr.mobi/blog/2023/08/i-dont-think-you-need-to-be-civil-to-puppy-smashers/#fn:baldwin" class="footnote-ref" title="Often mis-attributed to James Baldwin" role="doc-noteref">0</a></sup></p>

<p>I don't think you need to be civil to those people who are deliberately trying to harm you. Sure, you might get a more positive reaction if you gently cajole them or politely help them see the error of their ways. But sometimes it is important to let people know <em>vociferously</em> just how much their plans will hurt you and your puppies.</p>

<div id="footnotes" role="doc-endnotes">
<hr>
<ol start="0">

<li id="fn:baldwin">
<p>Often mis-attributed to James Baldwin&nbsp;<a href="https://shkspr.mobi/blog/2023/08/i-dont-think-you-need-to-be-civil-to-puppy-smashers/#fnref:baldwin" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=46464&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/08/i-dont-think-you-need-to-be-civil-to-puppy-smashers/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Let's track footballers' heart rates!!]]></title>
		<link>https://shkspr.mobi/blog/2023/07/lets-track-footballers-heart-rates/</link>
					<comments>https://shkspr.mobi/blog/2023/07/lets-track-footballers-heart-rates/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 22 Jul 2023 11:34:21 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[sport]]></category>
		<category><![CDATA[technology]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=45919</guid>

					<description><![CDATA[I don&#039;t follow football - or any sports - which made me an unusual choice for this particular pitch. Let&#039;s wind back the clock a decade...  A relatively unknown hardware company has just released one of the first &#34;fitness trackers&#34; which can measure a wearer&#039;s physiology. As well as counting steps, it now has the ability to measure heart-rate and a bunch of other things.  They think that athletes …]]></description>
										<content:encoded><![CDATA[<p>I don't follow football - or any sports - which made me an unusual choice for this particular pitch. Let's wind back the clock a decade...</p>

<p>A relatively unknown hardware company has just released one of the first "fitness trackers" which can measure a wearer's physiology. As well as counting steps, it now has the ability to measure heart-rate and a bunch of other things.  They think that athletes and exercisers will be interested in knowing these vital statistics. But they're wondering if there's another market they've missed.</p>

<p>My employer's pitch is simple - livestream the cardiac rhythms of football players back to their coaches. If Ted Lasso can see that Jamie Tartt is faltering, substitute him.</p>

<p>In a sense, it is no different than the tech that's used in Formula 1 racing. Team engineers can see the motor's exact RPM, temperature, and wear. Every facet of the car's performance is analysed to extract marginal gains in performance. And, incidentally, to prevent catastrophe.</p>

<p>With advances in technology, it would be possible to measure a player's oxygen saturation, their alertness, and lactic acid build up.  Having complete understanding of athletes' health would be a literal game-changer.</p>

<p>We could go even further. How about we give that data to the TV broadcasters? How does it enhance your experience of the game if you can see the beats-per-minute of the striker and goalkeeper in a penalty shootout?</p>

<p>Our pitch-deck had a slightly more professionally produced version of this graphic:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/07/football-bpm.jpg" alt="Photo of a football match. The striker's BPM is a high 150, the goalie a more leisurely 75. Original photo from https://www.flickr.com/photos/wonker/8603265115/" width="1024" height="576" class="aligncenter size-full wp-image-46307">

<p>Would bookmakers like to know that the star player had exhausted themselves? Would stats nerds like to know who ran the furthest? Would players like to scream abuse at the lazy players?</p>

<p>In the end, the pitch failed on three counts:</p>

<ol>
<li>Battery power just wasn't good enough to continually transmit real-time data across a football pitch. Not without making the device much bulkier and heavier.</li>
<li>Worries about eavesdropping. Unless the signals were extremely well encrypted (not likely given the primitive technology and power requirements) then the opposition team could gather valuable insights on their rivals.</li>
<li>Player privacy. Professional athletes are humans. They want (and deserve) privacy. Perhaps they have a minor heart condition that they don't want the world knowing about?</li>
</ol>

<p>I genuinely don't know enough about sports or the psychology of fans to know if this would have been successful. All the customer research seemed to think that it would have been a big hit with gamblers. I daresay with all the other augmented reality stats which currently deface the screen it would have fitted right in.</p>

<p>But, to most people, it felt needlessly invasive. There's still a huge "ick factor" around seeing other people's medical information. Players, we were told, just wouldn't go for it.</p>

<p>As the technology matures, I can't help wondering how long it is before it becomes ubiquitous. Would we demand politicians display their galvanic skin response so we can tell if they're lying? Should all first dates mandate arousal detectors to ensure compatibility? Will your employer let you take a loo break <em>only</em> if you can prove that you're bursting?</p>

<p>Strange times ahead...</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=45919&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/07/lets-track-footballers-heart-rates/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Fediverse Account Portability And Blocking]]></title>
		<link>https://shkspr.mobi/blog/2023/07/fediverse-account-portability-and-blocking/</link>
					<comments>https://shkspr.mobi/blog/2023/07/fediverse-account-portability-and-blocking/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 19 Jul 2023 11:34:43 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[mastodon]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=46315</guid>

					<description><![CDATA[One of the many great things about the Fediverse (Mastodon, PixelFed, Lemmy, etc) is that your account is portable.  Let&#039;s say you&#039;re bob@social.boring and, one day, you decide to move your account to foxyfun@furryextreme.yif. Well, with a few clicks of a button, all of your old followers are now following your brand new account. You&#039;re still following all your old friends. The accounts you…]]></description>
										<content:encoded><![CDATA[<p>One of the many great things about the Fediverse (Mastodon, PixelFed, Lemmy, etc) is that your account is portable.</p>

<p>Let's say you're <code>bob@social.boring</code> and, one day, you decide to move your account to <code>foxyfun@furryextreme.yif</code>. Well, with a few clicks of a button, all of your old followers are now following your brand new account. You're still following all your old friends. The accounts you wanted to block and mute are still silenced.</p>

<p>Perfect!</p>

<p>Except...</p>

<p>What happens to the people who blocked and muted <em>you</em>?</p>

<p>I ran an extremely scientific poll on Mastodon:</p>

<iframe src="https://mastodon.social/@Edent/110684725930484076/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe>

<script src="https://mastodon.social/embed.js" async="async"></script>

<p>Yeah... No one knows and there's no real consensus.</p>

<h2 id="scenario-1-blocking"><a href="https://shkspr.mobi/blog/2023/07/fediverse-account-portability-and-blocking/#scenario-1-blocking">Scenario 1 - Blocking</a></h2>

<p>I blocked Bob because he keeps sending me unsolicited duck pics.</p>

<p>From my point of view, I want Bob's new account to be automatically blocked.</p>

<p>Both Bob and his server know that I've blocked him. When he tries to view my profile, he is told to piss off.</p>

<p>Bob's server should maintain a list of accounts which have blocked him. When he initiates an account transfer, his old server should tell my server to update its block list to Bob's new account.</p>

<p>I might be a bit confused seeing an unknown account in my blocklist - but my server could explain what's going on.</p>

<p>This, to me, seems like a sensible solution. If it isn't implemented then it is trivial for malicious users to evade blocks at no cost to themselves; they get to keep their followers.</p>

<p>OK, now we get on to the harder problem.</p>

<h2 id="scenario-2-muting"><a href="https://shkspr.mobi/blog/2023/07/fediverse-account-portability-and-blocking/#scenario-2-muting">Scenario 2 - Muting</a></h2>

<p>I muted Bob because he's an arrogant arsehole.</p>

<p>From my point of view, I want Bob's new account to be automatically muted.</p>

<p>The problem is, Bob doesn't know that I've muted him and neither does Bob's server. It is my server which silently drops all the tedious mansplaining posts sent by him.</p>

<p>If my server tells Bob's server that he is muted - that's unwanted information leakage.  I don't want Bob to know I'm ignoring him.</p>

<p>There are two possible solutions:</p>

<ol>
<li>When my server receives a message from <code>foxyfun</code> (whether to me or someone else) it should be told the user's old account name. That way my server can update any mute lists for the old account. That might involve a lot of database thrashing.</li>
<li>Alternatively, when Bob changes his account, his server could broadcast to all federated servers the account change. That's probably a bit inefficient and failure intolerant.</li>
</ol>

<p>Personally, I think this makes sense. If I don't want to hear from someone then it shouldn't matter if they've changed account. They're still the same prat.  But I'll admit this feels like a lot of extra work for the protocol and servers.</p>

<h2 id="alternatives"><a href="https://shkspr.mobi/blog/2023/07/fediverse-account-portability-and-blocking/#alternatives">Alternatives</a></h2>

<p>Bob could create a brand new account to get past my mutes and blocks. But, in doing so, he loses all his followers.</p>

<p>Bob's change of persona could represent a new start and maybe I should give him a second chance? But life's too short for that.</p>

<p>I could be less thin-skinned and accept that Bob gets to impose himself on me. But that doesn't suit my mental health requirements.</p>

<p>I could take 30 seconds out of my day to block the new account. But computers should be automating this sort of tedious busywork.</p>

<h2 id="thoughts"><a href="https://shkspr.mobi/blog/2023/07/fediverse-account-portability-and-blocking/#thoughts">Thoughts</a></h2>

<p>If you have any burning thoughts on this - whether you agree or disagree - I'm very interested in hearing them. Please leave a reply here or on Mastodon.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=46315&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/07/fediverse-account-portability-and-blocking/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The IAB loves tracking users. But it hates users tracking them.]]></title>
		<link>https://shkspr.mobi/blog/2023/01/the-iab-loves-tracking-users-but-it-hates-users-tracking-them/</link>
					<comments>https://shkspr.mobi/blog/2023/01/the-iab-loves-tracking-users-but-it-hates-users-tracking-them/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 16 Jan 2023 12:34:28 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=44683</guid>

					<description><![CDATA[The Interactive Advertising Bureau (IAB) is a standards development group for the advertising industry. Their members love tracking users. They want to know where you are, who you&#039;re with, what you&#039;re buying, and what you think. All so they can convince you to spend slightly more on toothpaste.  Or change your political opinions. Either way, they are your adversaries.  The IAB&#039;s tech lab is…]]></description>
										<content:encoded><![CDATA[<p>The Interactive Advertising Bureau (IAB) is a standards development group for the advertising industry. Their members <em>love</em> tracking users. They want to know where you are, who you're with, what you're buying, and what you think. All so they can convince you to spend slightly more on toothpaste.  Or change your political opinions. Either way, they are your adversaries.</p>

<p>The IAB's tech lab is working on a system called <a href="https://github.com/IABTechLab/uid2docs">UID2</a>. It's a more advanced way to track you no matter what you do and no matter what steps you take to avoid it.</p>

<blockquote><p>UID2 is a framework that enables deterministic identity for advertising opportunities on the open internet for many participants across the advertising ecosystem. The UID2 framework enables logged-in experiences from publisher websites, mobile apps, and Connected TV (CTV) apps to monetize through programmatic workflows.</p></blockquote>

<p>Basically, they tie your email address to everything you do. Signed in to watch a TV show? Better sell that info to the advertisers so when you sign in to a different site they can send you targetted messages. Yuck.</p>

<p>One of the ways privacy conscious users normally avoid this is by subtly altering their email addresses for each service they use.  For example, GMail ignores any dots in your username. So if you are <code>Han.Solo@gmail.com</code> you can also use <code>H.ansolo@gmail.com</code> or <code>ha.ns.ol.o@gmail.com</code>.  A user might sign up to a service and use a specifically "dotted" email address.  If they later start receiving spam to that address, they know the service has leaked or sold their info.</p>

<p>You can go one step further and use <a href="https://www.fastmail.help/hc/en-us/articles/360060591053-Plus-addressing-and-subdomain-addressing">plus addressing</a>.  For example <code>han.solo+amazon@gmail.com</code> and <code>han.solo+github@gmail.com</code>. They both will appear in your normal inbox, but are unique for every service you use. Again, this is great for making sure that someone hasn't sold your email address to spammers.</p>

<p>The IAB <em>hates</em> this.</p>

<p>As part of the <a href="https://github.com/IABTechLab/uid2docs/blob/main/docs/getting-started/gs-normalization-encoding.md">UID2 API</a> they specifically describe how an advertiser must "normalise" their users' email addresses.</p>

<p>This means <code>h.a.n.solo+iab@gmail.com</code> becomes plain old <code>hansolo@gmail.com</code></p>

<p>I think this is pretty shitty behaviour. If someone has <em>deliberately</em> set their email address in this form it is because the user <em>does not want</em> their identities to be commingled.</p>

<p>Last year, I <a href="https://github.com/IABTechLab/uid2docs/pull/16">asked them to respect users' privacy and reverse this change</a>.  They finally responded:</p>

<blockquote><p>Thank you for your input, we thought long about this update and ultimately as it stands today it is not a change we would like to add.</p></blockquote>

<p>So, there you have it. If you want to take even the smallest step to preserve your privacy - tough. 
If you want to track which IAB members are using your data - tough.
If you want to track users even if they don't want to be tracked - the IAB is happy to help.</p>

<p>If you want to opt out of this - and you trust the IAB to handle your data safely - you can submit your email address and phone number to <a href="https://transparentadvertising.org/"></a><a href="https://transparentadvertising.org/">https://transparentadvertising.org/</a>.</p>

<p>Personally, I recommend installing the <a href="https://ublockorigin.com/">uBlock advert blocker</a> on all devices which support it.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=44683&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/01/the-iab-loves-tracking-users-but-it-hates-users-tracking-them/feed/</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[ProctorU is dystopian spyware]]></title>
		<link>https://shkspr.mobi/blog/2021/11/proctoru-is-dystopian-spyware/</link>
					<comments>https://shkspr.mobi/blog/2021/11/proctoru-is-dystopian-spyware/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 09 Nov 2021 12:34:29 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[MSc]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40864</guid>

					<description><![CDATA[As part of my MSc, I have to take an online exam. Obviously, this means I am highly likely to cheat by looking up things on Wikipedia or by having a bit of paper with notes on it. EVIL!  So, the exam body requires me to install ProctorU. It&#039;s a service which lets someone watch you through your laptop camera while you do the exam. Creepy, but I get it. They also want to see your screen to make…]]></description>
										<content:encoded><![CDATA[<p>As part of my MSc, I have to take an online exam. Obviously, this means I am highly likely to cheat by looking up things on Wikipedia or by having a bit of paper with notes on it. EVIL!</p>

<p>So, the exam body requires me to install <a href="https://chrome.google.com/webstore/detail/proctoru/goobgennebinldhonaajgafidboenlkl">ProctorU</a>. It's a service which lets someone watch you through your laptop camera while you do the exam. Creepy, but I get it. They also want to see your screen to make sure you're not alt-tabbing. A bit grim, but I get it.  They also want complete control over your laptop, including the ability to silently transfer files and run arbitrary programs. LOL WAT?!?</p>

<p>Here's the "helpful" video showing what's involved. <a href="https://web.archive.org/web/20210608145101/https://www.youtube.com/watch?v=5gdh46rBvbU">It is a 6 minute long privacy invasion</a>.</p>

<p>But, OK, there's no way my employer (the Government) is going to let me install this malware on their machine. No worries, I'll use one of my Linux laptops. After all, I am doing an exam all about Linux security! Let's check <a href="https://support.proctoru.com/hc/en-us/articles/115013144727-What-Operating-Systems-Devices-Are-Supported-">their system requirements</a>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/11/unsupported.png" alt="Unsupported Devices At this time we do not support the following; however, we are working on solutions to accommodate every platform. Chromebooks are not supported unless you are utilizing a proctoring service without a Live Proctored launch Mobile Devices Tablets/iPads Linux/Unix operating systems Microsoft Surface RT Virtual Machines: If you are running within a virtual machine when you connect with us, you will be asked to exit your virtual machine and reconnect using your host operating system to take your test." width="900" height="520" class="aligncenter size-full wp-image-40866">

<p>Soooo… No Linux, no Chromebook, no Android tablet. I can't even spin up a Windows VM?</p>

<p>The thing is, the training provider - which sells these courses to businesses - know that most business laptops won't allow ProctorU's spyware on them. It's just too risky. Their solution?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/11/cant-use-work.png" alt="Unfortunately Chromebooks are not supported by ProctorU and work based laptops are not recommended due to additional security restrictions that'll block remote connection and screen sharing. You'll need to use a personally owned Mac or Windows laptop.&quot; section &quot;Unfortunately Chromebooks are not supported by ProctorU and work based laptops are not recommended due to additional security restrictions that'll block remote connection and screen sharing. You'll need to use a personally owned Mac or Windows laptop." width="387" height="393" class="aligncenter size-full wp-image-40867">

<p>And if you don't have a personal Mac or Windows machine?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/11/borrow.png" alt="To take this exam online you will need to borrow a friend or family member's laptop." width="339" height="94" class="aligncenter size-full wp-image-40868">

<p>Any of you want to lend me a laptop so I can install invasive spyware on it? No? Didn't think so!</p>

<p>I asked the course provider what options they had for me - and I'm waiting to hear back. It looks like I can go to one of their regulated test centres and take the exam there.</p>

<p>Hmmm - spyware on my computer, or catch COVID from a shared PC? Choices… Choices…</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40864&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/11/proctoru-is-dystopian-spyware/feed/</wfw:commentRss>
			<slash:comments>23</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Alexa leaks your private wishlists]]></title>
		<link>https://shkspr.mobi/blog/2021/09/alexa-leaks-your-private-wishlists/</link>
					<comments>https://shkspr.mobi/blog/2021/09/alexa-leaks-your-private-wishlists/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 18 Sep 2021 11:56:33 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[alexa]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40258</guid>

					<description><![CDATA[This morning, my wife noticed that Alexa was insistently flashing its little blue lights.  &#34;Alexa... Notifications?&#34;  &#34;You have one notification. An item on your wishlist has dropped in price. The … is now only £…&#34;  And that&#039;s how my wife found out what I planned to get her for her birthday!  What happened to cause this? I maintain several Amazon Wishlists® of things I want to buy. One of those is…]]></description>
										<content:encoded><![CDATA[<p>This morning, my wife noticed that Alexa was insistently flashing its little blue lights.</p>

<p>"Alexa... Notifications?"</p>

<p>"You have <code>one</code> notification. An item on your wishlist has <code>dropped</code> in price. The <code>…</code> is now only <code>£…</code>"</p>

<p>And that's how my wife found out what I planned to get her for her birthday!</p>

<p>What happened to cause this? I maintain several Amazon Wishlists® of things I want to buy. One of those is for presents I might want to buy my wife - and it is set to <em>private</em>. If you want to buy <em>me</em> a present, you can <a href="https://www.amazon.co.uk/hz/wishlist/ls/13GFCFR2B2IX4?type=wishlist&amp;linkCode=sl2&amp;tag=shksprblogwish-21">view my public wishlist</a>. But my private ones are private to me.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/09/List-of-wishlists.png" alt="A list of Wishlists. Liz's presents is marked as private." width="375" height="368" class="aligncenter size-full wp-image-40269">

<p>If you go to edit your wishlist's privacy settings, you'll see this small disclaimer:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/09/Manage-your-lists.png" alt="People who access your list will see your recipient name. If you have an Alexa-enabled device, Alexa may alert you when there is a deal for items in your list. Notification Preferences. " width="622" height="187" class="aligncenter size-full wp-image-40261">

<p>Going over to <a href="https://www.amazon.co.uk/alexashopping/notification"></a><a href="https://www.amazon.co.uk/alexashopping/notification">https://www.amazon.co.uk/alexashopping/notification</a> there's this toggle switch.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/09/Recommendations.png" alt=" Recommendations and deals  Receive personalised recommendations and deals based on your shopping activity." width="960" height="401" class="aligncenter size-full wp-image-40260">

<p>So, there's <strong>no way</strong> to switch off notifications from private lists. You have to switch them off for everything.</p>

<p>In this case, the harm was minimal. I'll have to find something else as a surprise gift.  But imagine if I had a "private" wishlist for something embarrassing or upsetting? I don't remember ever switching on the option for my Alexa to announce to my entire household that there is a price-drop on my weird fetish.</p>

<p>I've written before about <a href="https://shkspr.mobi/blog/2015/08/anti-social-app-design/">anti-social app design</a>.  The tech bros working on apps often don't consider that people have families. And that they live with people that they want to keep secrets from.</p>

<p>According to the <a href="http://www.ons.gov.uk/ons/rel/family-demography/families-and-households/2014/families-and-households-in-the-uk--2014.html#tab-Household-size">UK's Office of National Statistics</a> - only 28% of households contain a single occupant.  The majority of people <em>live with other people</em>.</p>

<h2 id="what-to-do-next"><a href="https://shkspr.mobi/blog/2021/09/alexa-leaks-your-private-wishlists/#what-to-do-next">What to do next</a></h2>

<p>If you use private wishlists, and have an Alexa, you have a few of options.</p>

<ol>
<li>Stop using Amazon's wishlists, and keep a separate list elsewhere.</li>
<li>Turn off <em>all</em> <a href="https://www.amazon.co.uk/alexashopping/notification">price drop notifications</a>.</li>
<li>Write a ranty blog post and hope a product manage at Amazon takes notice.</li>
</ol>

<h2 id="pre-empting-your-comments"><a href="https://shkspr.mobi/blog/2021/09/alexa-leaks-your-private-wishlists/#pre-empting-your-comments">Pre-empting Your Comments</a></h2>

<p>Before responding to this post, please consider the following:</p>

<h3 id="why-didnt-you-read-the-disclaimer"><a href="https://shkspr.mobi/blog/2021/09/alexa-leaks-your-private-wishlists/#why-didnt-you-read-the-disclaimer">"Why didn't you read the disclaimer?"</a></h3>

<p>I set up this wishlist long before the Alexa was invented. The disclaimer didn't exist then.</p>

<h3 id="you-should-have-gone-through-every-single-option-and-made-sure-you-were-happy"><a href="https://shkspr.mobi/blog/2021/09/alexa-leaks-your-private-wishlists/#you-should-have-gone-through-every-single-option-and-made-sure-you-were-happy">"You should have gone through every single option and made sure you were happy!"</a></h3>

<p>That's unrealistic. Options should be set to preserve privacy by default. Asking the user to go through dozens of different pages of options to prevent their privacy being violated is an unreasonable burden.</p>

<h3 id="this-is-your-fault-for-being-tied-in-to-amazons-ecosystem"><a href="https://shkspr.mobi/blog/2021/09/alexa-leaks-your-private-wishlists/#this-is-your-fault-for-being-tied-in-to-amazons-ecosystem">"This is your fault for being tied in to Amazon's ecosystem!"</a></h3>

<p>Possibly.</p>

<h3 id="jeff-bezos-is-always-listening-to-you1111"><a href="https://shkspr.mobi/blog/2021/09/alexa-leaks-your-private-wishlists/#jeff-bezos-is-always-listening-to-you1111">jEfF BeZoS Is aLwAyS LiStEnInG To yOu!!1!!!!111!</a></h3>

<p>As long as he gives me cheap same-day delivery, IDGAF.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40258&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/09/alexa-leaks-your-private-wishlists/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[I know how many microphones and cameras you have]]></title>
		<link>https://shkspr.mobi/blog/2020/12/i-know-how-many-microphones-and-cameras-you-have/</link>
					<comments>https://shkspr.mobi/blog/2020/12/i-know-how-many-microphones-and-cameras-you-have/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 22 Dec 2020 12:46:47 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=37591</guid>

					<description><![CDATA[A curious little data leak, but one I struggle to care about. Perhaps useful for a bit of fingerprinting?  Websites can access your system&#039;s camera and microphone. That&#039;s how modern video conferencing works in the browser. In an effort to retain user privacy, the browser asks the user for permission to use the camera and mics. No audio or video will be sent until the user agrees.  But some…]]></description>
										<content:encoded><![CDATA[<p>A curious little data leak, but one I struggle to care about. Perhaps useful for a bit of fingerprinting?</p>

<p>Websites can access your system's camera and microphone. That's how modern video conferencing works in the browser. In an effort to retain user privacy, the browser asks the user for permission to use the camera and mics. No audio or video will be sent until the user agrees.</p>

<p>But some metadata gets shared <em>before</em> you agree!</p>

<p>Visit the <a href="https://www.webrtc-experiment.com/DetectRTC/">WebRTC Detection Experiment site</a>. You'll notice that <em>without</em> you agreeing, the site is able to determine how many microphones you have:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/Mic-detection.png" alt="Web browser asking for permission to access microphones. On the page, the number of microphones is displayed." width="410" class="aligncenter size-full wp-image-37593">

<p>And how many cameras you have:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/Cameras.png" alt="Web page showing the device has two cameras, but that webcam permission hasn't been set." width="410" class="aligncenter size-full wp-image-37594"></p>

<p>Having two cameras is perhaps a reasonable proxy for being a mobile phone / tablet.  One main cam, one selfie cam.</p>

<p>Multiple microphones could be an indicator that the user is on a laptop. Built in microphone and an external USB microphone. Although some phones also present multiple microphones.</p>

<p>The names of the devices aren't sent until <em>after</em> you agree to the permission prompt.</p>

<p>There are inconsistencies between browsers:</p>

<table>
<thead>
<tr>
  <th></th>
  <th align="center">FireFox</th>
  <th align="center">Chrome</th>
</tr>
</thead>
<tbody>
<tr>
  <td>Laptop</td>
  <td align="center">3 mics, 1 camera</td>
  <td align="center">1 mic,  1 camera</td>
</tr>
<tr>
  <td>Android</td>
  <td align="center">1 mic, 2 cameras</td>
  <td align="center">3 mics, 2 cameras</td>
</tr>
</tbody>
</table>

<p>It is <em>useful</em> to present to the user a selection of input devices. But does the site need to know how many devices are attached <em>before</em> permission has been granted?</p>

<p>The way the iPhone does it, is to present a fake set of data - one mic and one camera - until permission has been granted. Then it shows the real information.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/iPhone-WebRTC-testing-fs8.png" alt="Screenshots of the iPhone showing fake data until permission is granted." width="927" height="888" class="aligncenter size-full wp-image-37618">

<p>Personally, I think the browser should only indicate a boolean to the site that AV inputs are available. Once permission is granted, then the site can request the number of devices and their names.</p>

<p>What do you reckon?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=37591&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/12/i-know-how-many-microphones-and-cameras-you-have/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Book Review: Privacy is Power - Carissa Véliz ★★★★★]]></title>
		<link>https://shkspr.mobi/blog/2020/11/book-review-privacy-is-power-carissa-veliz/</link>
					<comments>https://shkspr.mobi/blog/2020/11/book-review-privacy-is-power-carissa-veliz/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 08 Nov 2020 12:20:37 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Book Review]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=37176</guid>

					<description><![CDATA[Without your permission, or even your awareness, tech companies are harvesting your location, your likes, your habits, your relationships, your fears, your medical issues, and sharing it amongst themselves, as well as with governments and a multitude of data vultures. They&#039;re not just selling your data. They&#039;re selling the power to influence you and decide for you. Even when you&#039;ve explicitly…]]></description>
										<content:encoded><![CDATA[<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/11/Privacy-is-Power.jpg" alt="Book Cover." width="240" height="388" class="alignleft size-full wp-image-37178">

<blockquote><p>Without your permission, or even your awareness, tech companies are harvesting your location, your likes, your habits, your relationships, your fears, your medical issues, and sharing it amongst themselves, as well as with governments and a multitude of data vultures. They're not just selling your data. They're selling the power to influence you and decide for you. Even when you've explicitly asked them not to. And it's not just you. It's all your contacts too, all your fellow citizens. Privacy is as collective as it is personal.</p></blockquote>

<p>This is an extremely timely and important book. Unlike the similarly themed "<a href="https://shkspr.mobi/blog/2020/02/book-review-the-age-of-surveillance-capitalism/">The Age of Surveillance Capitalism</a>" this is completely readable by a non-academic. Utterly free of highfalutin verbiage. It is refreshingly plain. Véliz sets out her thesis and logically follows through all the arguments.</p>

<p>Véliz expertly takes the reader through a journey which is intended to radicalise them into taking privacy seriously.  Your data is being used without your consent and it is having a disastrous impact on you and your community.</p>

<p>Again, unlike Zuboff's "Surveillance Capitalism", this contains <em>practical</em> actions an ordinary person can take. As well as political actions - it contains concrete steps. I'm happy to say they're things I've talked about:</p>

<ul>
<li><a href="https://shkspr.mobi/blog/2018/04/ad-blocking-as-a-radical-political-act/">Use and Ad Blocker.</a></li>
<li><a href="https://shkspr.mobi/blog/2012/10/the-eye-of-the-storm/">Give fake details online.</a></li>
<li><a href="https://shkspr.mobi/blog/2018/11/review-bitwarden-the-better-password-manager/">Use a password manager.</a></li>
<li><a href="https://shkspr.mobi/blog/2020/03/its-ok-to-lie-to-wifi-providers/">Lie to public WiFi providers.</a></li>
<li><a href="https://shkspr.mobi/blog/2019/10/how-should-couples-handle-joint-email-addresses/">Use a unique email for every service.</a></li>
</ul>

<p>It is essential that you read this. Even if you think you understand the arguments for privacy, there will be stories in here which will shock and enrage you. It will give you the tools to defend yourself and sets out a decent plan for the future.</p>

<p>As Véliz says:</p>

<blockquote><p>"We use fire doors to contain possible fires in our homes and buildings, and watertight compartments to limit possible flooding in ships. We need to create analogous separations in cyberspace."</p></blockquote>

<p>Grab a copy, now.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=37176&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/11/book-review-privacy-is-power-carissa-veliz/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Open Data - but not *too* open]]></title>
		<link>https://shkspr.mobi/blog/2020/11/open-data-but-not-too-open/</link>
					<comments>https://shkspr.mobi/blog/2020/11/open-data-but-not-too-open/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 04 Nov 2020 12:21:20 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[Open Data]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=37083</guid>

					<description><![CDATA[I&#039;m an advocate for open data - both in my professional role and in a personal capacity. One of the hard things is succinctly explaining that &#34;open data&#34; means &#34;non-personally identifiable data at a sufficient granularity to be useful without proving a risk to any individual&#039;s (or group&#039;s) reasonable expectations of privacy while still being useful to researchers and civic society.&#34; What a…]]></description>
										<content:encoded><![CDATA[<p>I'm an advocate for open data - both in my professional role and in a personal capacity. One of the hard things is succinctly explaining that "open data" means "non-personally identifiable data at a sufficient granularity to be useful without proving a risk to any individual's (or group's) reasonable expectations of privacy while still being useful to researchers and civic society." What a mouthful!</p>

<p>So, the NHS releasing the number of times a doctors' surgery has prescribed <a href="https://www.youtube.com/watch?v=QECEv3ERyg0">Paracetamoxyfrusebendroneomycin</a> is <em>probably</em> OK - unless it is only ever recommended for one-legged Welshmen over the age of 60, and you're the only person in the catchment area who meets that description.</p>

<p>I've found a <em>semi</em>-open data set which make me <em>slightly</em> nervous.</p>

<p>In the UK, you can change your gas and electricity supplier.  There are <a href="https://www.ofgem.gov.uk/publications/list-all-gas-licensees-including-suppliers"><em>hundreds</em> of different gas suppliers</a>.  Which one supplies your home?</p>

<p>Ofgem, the energy regulator, <a href="https://www.ofgem.gov.uk/consumers/household-gas-and-electricity-guide/connections-and-moving-home/who-my-gas-or-electricity-supplier">tells people</a> to use the <a href="https://www.findmysupplier.energy">FindMySupplier.energy</a> website to find their supplier.</p>

<p>Type in your postcode and house number, tick a couple of boxes, and <em>promise</em> that you are who you say you are:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/10/Confirmation-screen-fs8.png" alt="If this address is correct and relates to your enquiry, please confirm that you are entitled to view the gas supply details." width="960" height="136" class="alignleft size-full wp-image-37087"></p>

<p>And then you can see your gas supplier and <a href="https://en.wikipedia.org/wiki/Meter_Point_Administration_Number">Meter Point Administration Number</a>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/10/Supplier-fs8.png" alt="Screen saying &quot;Your search has been successful!&quot; and then my MPAN and supplier details." width="1537" height="499" class="alignleft size-full wp-image-37088">

<p>This isn't, technically, open data. The licencing terms are restrictive, there's no complete dataset available, and no public API. But it is open for anyone to view.  There's nothing stopping you typing in a neighbour's address, or a stranger's address.</p>

<h2 id="is-this-a-problem"><a href="https://shkspr.mobi/blog/2020/11/open-data-but-not-too-open/#is-this-a-problem">Is this a problem?</a></h2>

<p>I'm not sure if my commercial relationship with a supplier is personal data and should be protected.  It <em>feels</em> personal.</p>

<p>There's a risk someone could use it in a phishing attempt. Telephoning me and claiming to be my supplier could be a good way to get me to hand over money or other information.</p>

<p>If I work for Energy Supplier X but get my gas from their rival, that could be embarrassing.</p>

<p>Could someone call my energy supplier and claim to be me? Would they be able to socially engineer any more data out of them?</p>

<p>There are lots of niche suppliers. I'm not aware of any which are, for example, marketed exclusively at LGBT+ customers. But I'm sure someone more nefarious than me could find <em>something</em> that a customer might be uncomfortable being revealed.</p>

<p>Is this too remote a risk?  All I can say is that I find it kinda creepy that anyone could look up my details, and I kinda worry about how they could use that information against me.</p>

<h2 id="why-is-this-available"><a href="https://shkspr.mobi/blog/2020/11/open-data-but-not-too-open/#why-is-this-available">Why is this available?</a></h2>

<p>There's a good reason why this dataset is available in the sort-of open.  When you move house, you may not know who the energy supplier is. Finding out the supplier means you can quickly get set up and be billed correctly.</p>

<p>Similarly, the UK has an open database for <a href="https://www.gov.uk/check-vehicle-tax">Car Tax</a> and <a href="https://www.gov.uk/check-mot-history">MOTs</a> (car safety certificates). Type in any car's registration plate, and you can see if its tax is up-to-date and what it failed its last MOT for.  Again, useful if you're buying a vehicle. But also handy if you're a nosy neighbour.</p>

<p>In Norway, you can <a href="https://www.skatteetaten.no/en/forms/search-the-tax-lists/">look up anyone's salary and see how much tax they paid</a>. Sounds like fun! But is it a win for open data? Perhaps, but because it encouraged snooping and other unhealthy behaviour, <a href="https://www.bbc.co.uk/news/magazine-40669239">people now have to log in using their national ID number</a>. You can't be anonymous while you search.</p>

<p>As the Norwegian website says:</p>

<blockquote><p>You can also check if someone has searched for you. If you search for anyone, <strong>they can see that you did</strong>.</p></blockquote>

<p>In the UK, we don't have a National ID scheme. So we can't have something like that. Perhaps it would put off illegitimate users of your gas data? Or perhaps it would be intimidating to see just who'd looked up your details?</p>

<p>Open Data is hard. It's hard to strike a balance between useful and creepy. I don't know where the balance is with this data set.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=37083&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/11/open-data-but-not-too-open/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
