Feature plugin discussion: a consent and logging mechanism for user privacy

As part of the #core-privacy team’s 2019 roadmap, the team has begun a discussion on the possibility of creating a consent and logging mechanism, most likely as a feature plugin. This is a working document to assemble our thoughts on what the initiative would involve; this document is not the formal proposal.

We welcome all thoughts on this document, which you are welcome to leave as comments on this post, or share with us directly in the #core-privacy channel on Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

What is in scope?

Our roadmap notes

Consent capture refers to creating a means for users to express their consent to data capture and usage, and to change their opt-in or opt-out status at any time, through easily accessible means such as front-end user settings or account information areas.

Consent logging refers to creating a means for administrators to collect a history of how users have opted in or out of various means of processing their data across coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., themes, and plugins, to view the current status of that consent, and to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). that history (and present state) available to users.

A standard way for WordPress core, plugins, and themes to obtain consent from users should be established to provide a consistent and stable experience for administrators, developers, and users of all kinds.

This initiative will likely require long term research, especially since it will be heavily influenced by pending regulations, such as the ePrivacy Regulation revamp, as well as user testing to ensure a positive experience for all while preventing “consent fatigue” or dark patterns. 

Existing consent and logging projects, such as Joomla’s consent system, will be studied and emulated (where possible) for both functionality as well as potential applicability as a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party rather than a core feature.

Work on consent and logging is a considerable opportunity, and a challenge, for frontend and UXUX User experience design. Thought should be given to how users are prompted for consent, how and where they change consent, and how this experience could be consistent across WordPress sites regardless of plugins or themes. Creating an open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. pattern library of designs for consent and choice while collaborating with other projects and organizations is advisable. Some existing pattern libraries have been developed for IAPP (International Association of Privacy Professionals) and by IF London, working with Open Rights Group (whom Automattic sponsors).

Although this work is independent of any specific regulation or law, it should be done with mindfulness of the new privacy laws coming into play in early 2020. Making a “head start” will allow an effective solution to be deployedDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. well in advance of the eventual compliance deadlines.

While there are a range of privately produced plugins available in the repository to deal with user consent and logging, no work has been done to date evaluating these issues from a core perspective. We also know that many administrators have deployed these solutions without really verifying that they are useful, effective, or meet the regulatory compliance requirements applicable to them. Additionally, we know that everyone – users and administrators alike – will be fully aware of the obtrusive, confusing, and almost entirely incorrect cookie and consent windows which appeared across the web as a result of a misunderstanding of GDPR’s requirements. Where these are based in plugins, they can occasionally do more harm than good.

Creating a core-centred consent and logging mechanism, as a feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins., presents an opportunity for the project to make a positive impact across all these areas. It will empower administrators within the ecosystem to better comply with privacy-related requirements, while contributing to a better standard of protecting user privacy across the open web.

Is this a legal thing?

As a team, we work from the perspective of placing user privacy first and foremost, regardless of any particular legal compliance obligation, or indeed, any lack of one.

This mechanism would look ahead to the upcoming consent and compliance requirements of CCPA (US, January 2020) and the ePrivacy Regulation overhaul (Europe, spring 2020), while also looking back at GDPR. Recent developments including updated guidance on GDPR cookie consent from the data protection regulators in the UK and France, as well as Nevada’s data rights law taking effect on October 1, have brought forward the need for the mechanism.

That being said, this feature plugin would not be built specifically as a legal compliance package, as our V1 GDPR tools were, nor will it be depicted as a compliance solution. Indeed, a responsible approach to user privacy will mean having conversations along the lines of “well, X law says users do not have to be prompted to grant consent for Y thing, but should we give them that option and build that functionality regardless?” Working from this proactive user-centric approach, rather than taking a reactive legal compliance view, will help to future-proof the work and, perhaps, continue to protect users who may find that their legal privacy rights are being stripped back.

How to build effective user controls

The core-privacy team draws on previously produced research, studies, and documents on best privacy practice. For user controls, the definitive source is: A Roadmap to Enhancing User Control via Privacy Dashboards (pdf), a study by the Privacy Bridges Project at the University of Amsterdam.

This diagram within the report explains the elements of a good consent and logging mechanism: 

Diagram of the elements in a user control mechanism: agency (users), architecture (technology and design), attitude (providers and platforms), and authority (privacy regulators).

The mechanism must provide users with the agency to exercise true and meaningful control over their personal privacy; it must be built on an architecture that has already enabled optimal user privacy by default; and it must be used to its fullest extent, by sitesite (versus network, blog) administrators, from an attitude of responsibility and respect to users. A fourth element is authority, the interplay of legal obligations to user privacy; this sits alongside, rather than within, the main mix, as not all countries and systems have privacy laws in place. Users who do not have privacy regulations or safeguards protecting them therefore rely on agency, architecture, and attitude even more.

The report collated best practice advice on consent mechanisms (dashboards) offered by UK, Australian, Canadian, New Zealand, US (the FTC), and EU data protection bodies, and this list offers us quite a bit of food for thought:

Accessible

  • Make the consent dashboard easily accessible for all users (for example, linking from the first screen);
  • Make the consent dashboard available to authenticated users, but also incorporate tools for passive and unauthenticated users, where their personal data is collected and used;
  • Link to this consent dashboard in the privacy policy of partner websites or third parties receiving personal data;
  • (We would add here that “accessible” should also mean the WordPress sense of a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility).)

Comprehensive

  • The consent dashboard should be comprehensive to manage all services and privacy settings in one place;
  • Manage not only the processing, but also the collection of their personal data; and
  • Allow the exercise of data subject rights, e.g., access to copies of personal data (linking to our existing data export and erasure tools).

Default-settings

  • Default-settings have to comply with the applicable law (also including regional variations);
  • Default-settings to be specific to each product/service with privacy-friendly defaults, and
  • A feature to ‘restore to default settings’ could also be added.

Granularity

  • Provide granular controls and upfront permissions, as well as giving the user ongoing control over their consent;
  • Provide information and control over which third parties receive personal data; and 
  • Offer a Do Not Track (DNT) mechanism that allow consumers to choose to prevent tracking by ad networks or other third parties.

Usability

  • The consent dashboard should be easy and straightforward to use;
  • Create a clear user interface that works to convey messages and draw attention;
  • Use design elements such as graphics, colours and layers to create hierarchies and user action;
  • It should be as easy to revoke consent as it was to provide it;
  • Ensure that users have a way to modify their information, have control of any tracking and delete their profile entirely if they wish;
  • Avoid making the dashboard unwieldy or too complex; and
  • Avoid dark patterns and any deceptive UX which compromises user privacy.

Information and transparency

  • Present information about the collection and use of personal data in an open, fair, and comprehensive way (as with our existing privacy notice tool); and
  • Instead of just using an on/off button, explain the consequences of making a choice to provide data so users can make an informed decision.

Support from other projects

As part of our participation in the cross-CMS privacy working group, we would be working closely with Joomla’s equivalent of the core-privacy team, which has already launched a consent management mechanism. They have offered to support us with practical advice and assistance. We also have support from the privacy initiative at Drupal, which has a consent and logging mechanism within a GDPR module (not in Core); Umbraco is looking to all three projects’ work to hopefully follow.

Timescale

We have the benefit (right now) of a few months of leadup time, and our previous work together as a team means we have a good sense of how we work as a unit. What that means is that unlike our V1 GDPR work, we have a bit of breathing space to plan, iterate, design, test, and reflect.

That being said, CCPA’s deadline is 1/1/20, and its requirements are clearly defined. It may be practical to look at a V1 launch of the plugin with the functionality and options required for GDPR and CCPA, and then iterate for a V2 update containing the functionality required for the ePrivacy Regulation revamp; by that time we will know what its requirements will be.

It would therefore be logical – and more than a bit fun – to aim to build something for Rian Kinney to be able to show during her CCPA talk at WordCamp US (1-3 November); it would be a natural fit for a team table at WCUS contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. as well.

What we will need

Our work on a consent and logging mechanism will need participation and expertise from a range of contributors:

Developers who can create the functionality needed to hook a range of consents and data rights into a single dashboard. As consent and logging requirements impact larger and enterprise clients at scale, we would love to see participation from agencies and teams working at this level in particular;

Designers and UX specialists who can integrate existing design research from CNIL, IAPP (member-only content available in Slack), and IF, as well as user testing, to make the back end interface simple and attractive, while making any front-end interfaces both effective and within healthy compliance; 

Policy experts who can advise on upcoming legal and regulatory changes which will impact what functionality might need to be built in (I handle this for Europe, @riankinney handles this for the US, and we’d love to expand our policy knowledge base with experts from other regions);

Project managers who can keep a complex, multidisciplinary initiative like this on task; and finally;

Conference speakers from the team who can speak about the initiative, and our work in general, at future WordCamps.

It should be noted that no members of the core-privacy team are funded or sponsored to contribute to privacy in WordPress, so we will need to be very realistic about what we will be able to accomplish within the time availability that we have; or indeed, if an initiative of this scope will be possible on a purely voluntary basis.

Next steps

Please join us in our #core-privacy office hours at 1900 UTC on Wednesdays to discuss this, or any of the other activities of the team’s work.

#privacy

Privacy Office Hours Agenda: July 24th, 2019

The following is the agenda for the privacy weekly office hours meeting. The meeting is held every Wednesday at 19:00 UTC in the #core-privacy room of the Making WordPress Slack.

  • Announcements
  • Upcoming ReleaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. (5.3) Discussion & Planning
  • New ICO cookie guidance – https://ico.org.uk/for-organisations/guide-to-pecr/guidance-on-the-use-of-cookies-and-similar-technologies/how-do-we-comply-with-the-cookie-rules/
  • Data Request Form feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. and direction
  • Open Floor

If you have anything to propose for the agenda or specific items related to those listed above, please leave a comment below.

#privacy, #core-privacy

Developer Focused Privacy Updates in 5.2

WordPress 5.2 brings several improvements for developers working with Privacy Policy pages and data exports.

New Privacy Policy Page Helpers

Four new features have been added to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). customizing and designing the Privacy Policy page easier:

  • A new function, is_privacy_policy(), can be used in conditionals to identify whether the current $wp_query is for the Privacy Policy page.
  • A new theme template file, privacy-policy.php, is used for rendering the page assigned as the Privacy Policy.
  • .privacy-policy has been added as a body class and is inserted when the currently rendered page is the Privacy Policy page.
  • .menu-item-privacy-policy has been added as a menu item class to specify the menu link that points to the Privacy Policy page.

Backwards Compatibility

The only backwards compatibility concern with using these new helpers is with the is_privacy_policy() function, which would trigger a Call to undefined function fatal error.

Themes and plugins that would like to support the is_privacy_policy() function in older versions of WordPress can use the following shim:

if ( ! function_exists( 'is_privacy_policy' ) ) {
    function is_privacy_policy() {
        return get_option( 'wp_page_for_privacy_policy' ) && is_page( get_option( 'wp_page_for_privacy_policy' ) );
    }
}

For more information, see #44005.

Loosened Tag Restrictions in User Data Exports

User Data exports no longer use a hardcoded list of allowed tags, limited to just <a> and <br>. They will now use the default list of allowed tags in wp_kses().

Furthermore, the code facilitating the export now passes a personal_data_export context to wp_kses(), so that the allowed tags and attributes can be filtered using the wp_kses_allowed_html filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. and checking for the personal_data_export context.

Here’s a filter example that adds support for the <sub> and <sup> tags to the personal data export:

function prefix_allowed_html_filter( $allowedtags, $context ) {
	// Only target personal data export.
	if ( 'personal_data_export' !== $context ) {
		return $allowedtags;
	}

	// Add support for the sub tag.
	if ( ! isset( $allowedtags['sub'] ) ) {
		$allowedtags['sub'] = array();
	}

	// Add support for the sup tag.
	if ( ! isset( $allowedtags['sup'] ) ) {
		$allowedtags['sup'] = array();
	}

	return $allowedtags;
}
add_filter( 'wp_kses_allowed_html', 'prefix_allowed_html_filter', 2, 10);

For more information, check out the documentation for the wp_kses_allowed_html filter.

See: #44044

#5-2, #core-privacy, #dev-notes, #privacy, #themes

#Core-privacy March update

This is a cumulative update for #core-privacy office hours and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs held in March 2019.

Office hours are held every Wednesday at 19:00 UTC in the #core-privacy channel on Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.. Bug scrubs are Mondays at 1600 UTC.

We have welcomed several new members into our channel, and were also delighted to welcome back @xkon and @javorszky 🙂

Ticketticket Created for both bug reports and feature development on the bug tracker. and bug scrub update

The team has shipped all of its enhancements for the 5.2 releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software.: #44005, #44044, #44707, #44761, #44822, #44833, #44901, #45136, #45999, #46041, #46254, #46369, #43438, #44233, and #44876.

Props @desrosj, @birgire, @garrett-eclipse, @tz-media, @xkon, @cc0a, @itowhid06, @mmuhsin, @arena, @duckdagobert, @dejliglama, @afercia, @mukesh27, @iandunn, @pbiron, @allendav, @azaozz, @jesperher, @davidbinda, @ocean90, @mikejolley, @Clorith, @pento, @ianbelanger, @jplojohn, @joostdevalk

The remaining 5.2 work will focus on resolving a few bugs which reside outside of the component but have a privacy feature. These are the two i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. issues affecting privacy notifications (#44721 and #46056) and an improvement (#37782) to the Menus which introduces the Privacy Policy page as an important page in the list.

@garrett-eclipse worked with MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. to update the Privacy Policy to link to the Data Erasure Request page (meta: 4223) and remove Quantcast verbiage (meta: 4216), and to start work on introducing the Data Export Request page (meta: 4224).

The team has begun to flag privacy-related tickets which should be built as feature plugins with the `feature-pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party` manual tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.).

V2 Roadmap

The team’s 2019 roadmap has been published to Makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility).. @postphotos wrote a blog post on Make announcing its publication and explaining how the team has structured the plan.

GithubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repo

@postphotos has gained adminadmin (and super admin) access to the Github repo which we used for the V1 GDPR phase of our work. It has had no updates since 17 May of last year.

The team will now begin actively using the Github repo. The #core-privacy component maintainers have been given owner access to use it to build the feature plugins detailed in the V2 roadmap.

The existing pages on the repo from the V1 GDPR phase of the team’s existence will be retained on the repo and archived for reference.

Conference talks

  • Chris Wiegman – How to Improve Privacy of Your Sitesite (versus network, blog) for You & Your Users at WordCamp Miami
  • Panel: What you need to know about Privacy and Security in 2019 at WordCamp Miami (no video yet)
  • Regina Dubinska y Jordi Sala: RGPD en la empresa y en WordPress at WordCamp Barcelona

Cross-project privacy cooperation

Please review and comment on the draft plugin privacy audit workflow drafted by @idea15 and Achilleas from the Joomla! privacy team.

The cross-privacy group will be participating in the Mozilla Open Leaders global sprint in May. It is essentially a virtual contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. or days focused on something over and above the usual ticket scrubs and doc updates. The #core-privacy team participants should brainstorm something fun to do in cooperation with the Drupal, Joomla, and Umbraco privacy teams to advance global internet health.

#core-privacy
#privacy

Privacy Office Hour Notes: January 30, 2019

The following is a summary of the weekly Privacy office hours that occurred on January 30, 2019. Weekly privacy office hours are held every Wednesday at 19:00 UTC. A full transcript can be found here in the #core-privacy room in the Make WordPress Slack.

Attendees: @desrosj, @idea15, @garrett-eclipse, @dejliglama.

Here are the highlights of the meeting:

Roadmap

The items in the latest roadmap revision were discussed and reprioritized. Because of uncertainty with upcoming laws, existing items should be worked on until around the time of WCEU. The priorities were reorganized into the following order:

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Feature Privacy (things already in Core)
  • GravatarGravatar Is an acronym for Globally Recognized Avatar. It is the avatar system managed by WordPress.com, and used within the WordPress software. https://gravatar.com/. Privacy Controls
  • Embed Privacy Controls
  • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ Blocks
  • WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ Support
  • Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site Support

All other items were moved to the back burner.

Roadmap update will soon be published on https://make.wordpress.org/core/roadmap/privacy/

Other Items/Open Floor

  • @dejliglama was officially championed as a privacy component maintainer.

The next weekly privacy office hours will be held on Wednesday, February 6, 2019, at 19:00 UTC in the #core-privacy room in the Make WordPress Slack.

#core-privacy, #privacy

Privacy Office Hours Agenda: January 30, 2019

The following is the agenda for the privacy weekly office hours meeting. The meeting is held every Wednesday at 19:00 UTC in the #core-privacy room of the Making WordPress Slack.

  • Tie the roadmap into TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and the other priorities for the year.
  • Resolve any outstanding comments, uncertainties, etc.
  • Get it out of a Google Doc and onto Makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). – here we go into the “who has permissions for what” thing again!
  • Sequencing upcoming work on the roadmap so that contributors focus on one key aspect at a time. It currently reads as a backlog.
  • Working in GithubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ vs. Trac for yet to be shipped in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.
  • Cross Project Work
  • Ticketticket Created for both bug reports and feature development on the bug tracker. candidates for closure.
  • Discuss removing the adminadmin (and super admin) pointers for privacy features added in 4.9.6.

#core-privacy, #privacy

Privacy Office Hour Notes: January 23, 2019

The following is a summary of the weekly Privacy office hours that occurred on January 23, 2019. Weekly privacy office hours are held every Wednesday at 19:00 UTC. A full transcript can be found here in the #core-privacy room in the Make WordPress Slack.

Attendees: @desrosj, @garrett-eclipse, @postphotos, @riankinney, @birgire.

Here are the highlights of the meeting:

WordPress 5.1 Related Items

The full WordPress 5.1 releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. schedule can be found here

  • At the time of the meeting, 13 privacy component or focus tickets had been committed for release in 5.1 on February 21, 2019. Thanks to everyone that contributed to the final push to land additional tickets in 5.1.
  • Moving forwards, only tickets addressing bugs or regressions only in trunk will be considered.
  • With 5.1 closed for Privacy items, attention should shift to the Privacy component and focus tickets in the 5.2 milestone. There are currently 8 and all but 1 has an owner assigned. More can be added if they are ready.
  • Moving forward, all Privacy tickets should have an owner when being added to a numbered milestone (not Future Release). This will help ensure Privacy tickets are not punted release to release and contributors have a clearer focus.

New TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. Keywords

Two new privacy-related keywords can be found in the Trac keyword dropdown field (see Meta-3896). These keywords (needs-privacy-review, has-privacy-review) need to be added and detailed in two locations to encourage proper use:

  1. The privacy component page on Makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). WordPress.
  2. The Trac Workflow Keywords page in the WordPress Core Handbook.

After some wordsmith work from attendees, the following descriptions are being proposed:

  • needs-privacy-review: Input is needed from the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. privacy team with regards to the privacy implications of the suggested changes.
  • has-privacy-review: Input has been given from the core privacy team reviewing the privacy implications of the suggested changes.

Barring any feedback in the #core-privacy room on the Make WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. or in the comments below, these keywords and descriptions will be added to those locations.

Open Floor

  • #45999 was re-raised by @garrett-eclipse for feedback. The main concern expressed was “Is removing these pointers in 5.2 too soon?” Some research needs to be done to see what Core has deemed an acceptable timeline for removal in the past.
  • As items on the V2 start to be tackled, work for this should be done using GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/.
  • Smaller, single feature focused plugins is preferred. But, there will be some features that are too closely related to build in isolation.
  • The pre-existing WordPress Privacy group on GitHub should also be utilized.

The next weekly privacy office hours will be held on Wednesday, January 30, 2019, at 19:00 UTC in the #core-privacy room in the Make WordPress Slack.

#privacy

Privacy Office Hour Notes: January 16, 2019

The following is a summary of the weekly Privacy office hours that occurred on January 16, 2019. A full transcript can be found here in the #core-privacy room in the Make WordPress Slack.

Attendees: @desrosj, @garrett-eclipse, @dejliglama, @postphotos.

Here are the highlights of the meeting:

WordPress 5.1 Related Items

The full WordPress 5.1 releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. schedule can be found here

  • At the time of the meeting, 9 privacy component or focus tickets had been committed for release in 5.1 on February 21, 2019.
  • There were 6 privacy component or focus tickets remaining in the 5.1 milestone that needed to be committed or punted by the 5.1 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 2 release on Tuesday, January 21, 2019.
  • That list of 6 had been scrubbed the previous Monday (January 14).

Open Floor

  • @idea15 mentioned that @xkon and herself have volunteered to represent the privacy team as participants in the cross-CMS privacy group.
  • The discussion was reopened about expanding the Privacy component to a recognized team with more responsibilities. @postphotos had a discussion with @chanthaboune at WCUS. The main suggestion was to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). sure office hour summaries and agendas are regularly posted. Clearer momentum and documentation, as well as a larger contributor base, are also huge pluses.
  • Moving forward in the near term, new privacy features are going to be developed as plugins so they can be quickly iterated on and improved. Bug fixes to existing privacy features in WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and newly discovered issues that need to be addressed can continue to take place in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress..
  • @garrett-eclipse mentioned that in some recent Trac gardening he marked a few tickets with the close keyword and would like second opinions. Those tickets are #43958, #44161, and #44464.
  • #45999 was created to explore removing the privacy adminadmin (and super admin) pointers added in 4.9.6.
  • Some attendees expressed that they were currently finding it difficult to find time to contribute. @desrosj suggested investigating better ways to divide parts of initiatives and tasks to ensure work continues even when time for contributing is inconsistent or uncertain.

The weekly privacy office hours are held every Wednesday at 19:00 UTC in the #core-privacy room in the Make WordPress Slack.

#core-privacy, #privacy

Privacy Office Hour Notes – January 9th, 2019

Huge thank you to all who attended the very productive office hours! The recap notes are a bit delayed, but they were not forgotten! A full agenda can also be found in an earlier post, and the full transcript can be found in Slack.

Here are the highlights of the meeting:

Agenda Item 1 – Roadmap Review

  • @idea15 reminded us that there is a more recent version of the Roadmap.
    • @desrosj will investigate how to give more maintainers access to update the roadmap page.
  • @lakenh mentioned TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. issue #44161, regarding IP addresses stored within the usermeta table.
    • @xkon provided an example of a user metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. session token, and it contained both a user agent and IP address.
    • @lakenh also discovered that the community-events-location user meta field also contains a full IP address.
      • He also suggested perhaps anonymizing that particular IP by dropping the last few places as the geographical location shouldn’t change by much.
    • @desrosj then asked if these fields were accounted for within the original data export/erasure tools.
      • @garrett-eclipse delivers the bad news that they were not.
      • Ticketticket Created for both bug reports and feature development on the bug tracker. to track this issue has been opened, #45889.

Agenda Item 2 – 2019

  • @idea15 gave an update on the cross-project privacy group which broke ground at Drupal Europe. Joomla’s Glip (similar to WordPress’ SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.) now has representatives from this WordPress Privacy team, Drupal, Joomla, Typo3, Umbraco, as well as other industry representatives who are all providing aid to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). all CMSs have great privacy features built-in.
  • @desrosj helped to set expectations for what privacy-related changes are acceptable moving forward based on a recent discussion in #core-committers. Small enhancements and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes will generally be OK to include in new releases with little oversight. Larger enhancements will need approval by version releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. leads.
  • Brainstorm session for how the team’s goals and the greater WordPress project’s goals overlap in 2019.
    • @desrosj suggested the following three areas of being places that we can help out:
      • Providing a way for users to opt-in to automatic pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and theme updates.
      • Providing a way for users to opt-in to automatic updates of major CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. releases.
      • Building a WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ directory for discovering blocks, and a way to seamlessly install them.
    • @desrosj also suggested Health Check as a possible area, as perhaps there are some server level privacy checks that could be built in.
      • @clorith expressed that the team was open to any ideas and that privacy features for Health Check can be created as GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issues on its repo for consideration.

#core-privacy, #privacy

Core Privacy Agenda – 9 January 2019

Happy New Year to all, and hope everyone enjoyed the holiday season. Our weekly office hours resume today, January 9th, 2019 at 19:00 UTC in #core-privacy.

The goal today is to ease back into the swing of things a bit slowly, starting with short office hours today, and see where things go from there.

Agenda

  • Roadmap Review
    • Is our roadmap still looking how we want it? Is anything missing?
  • 2019 Plans
    • Matt posted the 9 priorities for 2019 last month.
    • Privacy is not explicitly mentioned in any of them. But, as a team, we should brainstorm where overlap exists with the team’s goals and where we can help out on this list.
      • Example: Auto-update support is one of the priorities; perhaps we can try and get the telemetry changes merged with it (#43492)
  • Open Floor
  • Off-Topic Open Floor
    • How were your holidays? Catch up and chit-chat 🙂

Hope to see you all there! All contributors welcome regardless of skill level or expertise.

#core-privacy, #privacy