<?xml version="1.0" encoding="UTF-8"?><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 policy Archives - Alexandros Georgiou</title>
	<atom:link href="https://www.alexgeorgiou.gr/tag/privacy-policy/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.alexgeorgiou.gr/tag/privacy-policy/</link>
	<description>Balancing brackets for a living</description>
	<lastBuildDate>Mon, 22 Apr 2024 10:21:05 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.alexgeorgiou.gr/wp-content/uploads/2021/07/cropped-alexgeorgiou-icon-32x32.png</url>
	<title>privacy policy Archives - Alexandros Georgiou</title>
	<link>https://www.alexgeorgiou.gr/tag/privacy-policy/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>🇪🇺 GDPR for WordPress plugin authors</title>
		<link>https://www.alexgeorgiou.gr/gdpr-wordpress-plugin-authors/</link>
					<comments>https://www.alexgeorgiou.gr/gdpr-wordpress-plugin-authors/#comments</comments>
		
		<dc:creator><![CDATA[alexg]]></dc:creator>
		<pubDate>Tue, 08 May 2018 15:47:18 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[data erasure]]></category>
		<category><![CDATA[data export]]></category>
		<category><![CDATA[GDPR]]></category>
		<category><![CDATA[law]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[personal data]]></category>
		<category><![CDATA[privacy policy]]></category>
		<guid isPermaLink="false">https://www.alexgeorgiou.gr/?p=254</guid>

					<description><![CDATA[<p>Instructions for WordPress plugin developers as to how to add GDPR compliance to their code.</p>
<p>The post <a href="https://www.alexgeorgiou.gr/gdpr-wordpress-plugin-authors/">🇪🇺 GDPR for WordPress plugin authors</a> appeared first on <a href="https://www.alexgeorgiou.gr">Alexandros Georgiou</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>I recently <a href="https://www.dashed-slug.net/gdpr-compliance-for-bitcoin-and-altcoin-wallets/">pushed out an update</a> to the <a href="https://www.dashed-slug.net/bitcoin-altcoin-wallets-wordpress-plugin/">Bitcoin and Altcoin Wallets WordPress plugin</a> that helps site admins comply with GDPR. The <em>General Data Protection Regulation</em> is the new legal framework of the European Union that dictates how personal data must be handled. It will come into effect on the <time datetime="2018-05-25 00:00">25th of May, 2018. Finding out what I needed to do required some digging, so I decided to report my findings here:<br />
</time></p>
<h2>Respecting the law</h2>
<p>A typical website handles personal data in at least a dozen different ways and typically many of these are not known to the site owner or administrator. It is however the legal responsibility of the designated data operator to inform the users as to how and why this data is collected. Additionally, a user has the right to request a copy of their personal data, or they can request that this data is deleted.</p>
<p>WordPress will introduce three new features in 4.9.6 to help admins meet these requirements. Themes and plugins should hook into these features as needed, depending on whether they handle personal data. This article is not intended as legal advice. I will only cover the technical aspect of how to use these features as a Theme or Plugin author, because this technical information is not easy to find at the moment. As of writing this article, the information is not yet in the Codex.</p>
<p>If you are a theme or plugin creator and you have your work hosted on <a href="http://wordpress.org">wordpress.org</a>, you should definitely aim to provide support for GDPR compliance soon. At some point in the future the wordpress.org site will start reviewing plugins for GDPR compliance. Authors who have not yet done the necessary changes will have to comply or risk having their plugins taken down.</p>
<h3>Privacy policy</h3>
<p>This is a text that any site needs to have. It is where you explain to your users how and why you collect personal data and what you do with it. WordPress includes a new tool to help you assemble text from the various plugins to form your privacy policy page. The tool is available under <em>Admin</em> → <em>Settings</em> → <em>Privacy</em>. To provide a text fragment from your plugin, you must call <code>wp_add_privacy_policy_content()</code> on <code>init</code>. An example of how to do this is currently found <a href="https://core.trac.wordpress.org/attachment/ticket/43473/PRIVACY-POLICY-CONTENT-HOOK.md">here</a>.</p>
<h3>Data exporter</h3>
<p><em>(see also ticket <a href="https://core.trac.wordpress.org/ticket/43546">#43546</a>)</em></p>
<p>When a user requests a copy of their personal data, you can use the new tool under <em>Admin</em> → <em>Tools</em> → <em>Export Personal Data</em>. The process involves an authorization step, to make sure that you do not give out data to anyone else, rather than the owner. Your code can append any data handled by your plugin. Simply hook into the <code>wp_privacy_personal_data_exporters</code> filter to add a name and a callable that points to your exporter. Clear information and an example of how to do this <a href="https://github.com/allendav/wp-privacy-requests/blob/master/EXPORT.md">can be found here</a>. Your actual exporter function takes an email and a page number and should return the data in the way described in the example. The page number is essentially there to export the data in batches. This is done to avoid timeouts in case the export takes too long.</p>
<p>Eventually the information about exporters should be added to <a href="https://developer.wordpress.org/reference/hooks/wp_privacy_personal_data_exporters/">this page in the Codex</a>.</p>
<h3>Data eraser</h3>
<p><em>(see also ticket <a href="https://core.trac.wordpress.org/ticket/43602">#43602</a>)</em></p>
<p>When a user requests that their data is erased, you should use the new tool under <em>Admin</em> → <em>Tools</em> → <em>Erase Personal Data</em>. WordPress does not actually delete user records, but instead blanks any personal fields such as names and IP addresses.</p>
<p>As of publishing this article, there is not much information out there on how to hook an eraser, but the process is virtually identical to the data exporters: You first hook into <code>wp_privacy_personal_data_erasers</code> to specify a name and callable to your eraser. Then your eraser takes an email and a page number and should proceed to delete any personal data associated with that email. I could not find any documentation on the data structure that should be returned by the eraser (other than in the <a href="https://core.trac.wordpress.org/ticket/43602">dev ticket</a>), but it was not hard to infer it <a href="https://core.trac.wordpress.org/browser/trunk/src/wp-admin/includes/ajax-actions.php?rev=43104#L4620">from the source code</a>. It should return something like:</p>
<pre>return array(
	'items_removed' =&gt; $items_removed_count,
	'items_retained' =&gt; $items_retained_count,
	'messages' =&gt; array(
		'These messages will be displayed to the admin after erasure',
		'You can add as many messages as you like, apparently!',
	),
	'done' =&gt; true, // Set to false if deletion needs to continue on the next call. Useful for deleting data in batches.
);
</pre>
<p>Eventually the information about erasers should be added to <a href="https://developer.wordpress.org/reference/hooks/wp_privacy_personal_data_exporters/" target="_blank" rel="noopener">this page in the Codex</a>.</p>
<h2>A real world example</h2>
<p>If you want to see GDPR compliance in a real world example, you can <a href="https://github.com/dashed-slug/wallets/blob/master/admin/gdpr.php" data-wplink-edit="true">check the code I added to my plugin</a>. It showcases some privacy policy text and two exporters and two erasers.</p>
<p>Eventually instructions on all of this will be included in the WordPress documentation, including the <a href="https://developer.wordpress.org/plugins/">Plugin Developer handbook</a> and the Codex.</p>
<p>The post <a href="https://www.alexgeorgiou.gr/gdpr-wordpress-plugin-authors/">🇪🇺 GDPR for WordPress plugin authors</a> appeared first on <a href="https://www.alexgeorgiou.gr">Alexandros Georgiou</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.alexgeorgiou.gr/gdpr-wordpress-plugin-authors/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
