== Privacy, confidentiality and disclosure ==
Launchpad considers personal user data, unfixed software security issues
and proprietary information as confidential knowledge. Launchpad limits
who may know about it. Project maintainers and users can choose who to
disclose confidential information to, and maybe choose to make the
information public.
=== Email addresses and obfuscation ===
Launchpad considers all user email addresses to be confidential
information. Anonymous users may not know any email address that belongs
to a user. Launchpad obfuscates anything that looks like an email
address that appears in text on launchpad pages and all text fields that
can be accessed via the Launchpad API by anonymous users.
Launchpad will reveal user email addresses to other registered Launchpad
users. Users may follow the
[[https://launchpad.net/~/+edit | Change details]]
link on their profile page to select the "Hide my email addresses from
other Launchpad users".
Team email addresses are always public, they cannot be hidden.
/!\ Launchpad staff advise team's to '''never''' use a mailing list with
a public archive as a team's contact address. Public list archives do
not honour Launchpad's confidentiality rules. Users may include
confidential information in emails that cannot be seen in Launchpad, but
are shown in the public archive.
== Private (Proprietary) teams ==
When you maintain a project with a commercial subscription, you will see
the visibility field on the team registration and "Change details"
pages. Setting the field to Private (Proprietary) allows the team to
work in private.
Non-members team cannot see that the team exists in Launchpad.
Non-members cannot see any of the team's pages. Private teams can choose
to be in some public relationships, such as subscribed to a public bug,
but doing so requires the team to agree to reveal its Launchpad Id and
other unique attributes. This rule ensures that no one can spy on
others. Private teams can also have private PPAs, mailing lists, and
Proprietary branches.
See [[Teams/CreatingAndRunning | Creating and running a team]]
for more information.
=== Hiding comments ===
Project maintainers and comment authors may choose to hide comments that
they believe contain confidential information. The comment may appear on
a bug, a question, or a branch merge proposal. The "Hide comment" link
you see under your own comments will change the comment to hidden.
Hidden comments are still visible to the comment author as well as the
people the project share Private information with. This allows the user
and project to continue to collaborate without disclosing information to
other Launchpad users.
See Information Types below to learn about how Launchpad treats Private
user information.
== Bug, branch, blueprint, and comment information types ==
The cornerstone of Sharing in Launchpad is 'information types'.
Everything that may be considered confidential has an information type
attribute that declares the type of information that it contains. There
are six information types:
* '''Public''' <
>
Everyone can see this information.
* '''Public Security''' <
>
Everyone can see this security related information.
* '''Private Security''' <
>
Only the security group can see this information. <
>
The information pertains to a critical vulnerability or exploit that
can harm computers or users.
* '''Private''' <
>
Only shared with users permitted to see private user information. <
>
The information contain data that is personal to a user and is
not public knowledge.
* '''Proprietary''' <
>
Only shared with users permitted to see proprietary information. <
>
The information belongs to an organisation and it it will not be
made public.
* '''Embargoed, can be proprietary''' <
>
Only shared with users permitted to see embargoed information. <
>
The information belongs to an organisation and it will be made Public
in the future.
Every bug, branch, blueprint, and comment has an information type. The
information type sets the rule used to determine who the information is
disclosed to. Few things support all information types. Branches support
all of them, but it is easier to delete a branch than to state it
accidentally contains Private user information. Comments only support
Private and Public, so the "Hide/Unhide comment" is all that is needed
to change the type. In general, information that originates from the
user community will support Private and Private Security. Information
that originates from the developer community will support Proprietary,
and Embargoed.
Projects also have information types that also to everything they
contain. The default information type of a project is Public, so
everything that it contains is also public. Some things, such as series
and milestones, inherit the information type of their project;
Proprietary projects only have Proprietary series and milestones. The
things that have their own information type attribute may be set
independent of the project, Public projects can have Private Security
bugs. Dependents cannot be more permissive then what they depend on. You
cannot stack a Public branch on a Proprietary branch. Proprietary
projects cannot have Public bugs.
== Sharing ==
Project maintainers can share information types with people to disclose
all of that kind of information with trusted people. For example, sharing
all Private Security information with a team allows the team's members
to see all Private Security bugs and branches in the project.
The project sharing page lists all people that the project shares with.
Maintainers can review and change who a project shares with by following
the "Sharing" link shown on the project's front page. Project drivers
may see who the project shares with, but cannot make changes. The Sharing
will also lists all the people that share all of a kinds of information
and lists the people where exceptional access to a bug, branch, or
blueprint was shared through a subscription.
When Sharing with people, the maintainer is prompted to choose the
information types to disclose. When unsharing with people, setting
the information type to None, Launchpad will revoke access to that
information immediately, then remove any subscriptions a few minutes
later. Maintainers can also unshare everything with a user to revoke
all access to confidential information and remove all subscriptions.
Launchpad will preserve subscriptions (and access) for users who are
members of one or more teams -- unsharing with a team revokes access
to just the people who are in the team and are not in any other teams
that the project shares with.
All information types are shared with the project maintainer by default.
The maintainer may choose to share with a team or user.
(!) The Launchpad staff recommend sharing with teams because users tend
to leave organisations and communities, so the user must be unshared
with, which is just additional work from removing a user from one or
more teams.
Subscribing people to confidential bugs, branches, and blueprints will
also share them when the people would not otherwise have access to the
information.
(!) The Launchpad staff recommends only sharing individual bugs,
branches, and blueprints with users who are working to solve the issue.
Users do not need access or additional notifications about information
about information that does not directly concern them. Managing many
bug, branch, and blueprint subscriptions for a user requires more labour
than sharing all of a an information type with people.
When users report bugs, they are automatically subscribed to them to
ensure they have access to their bug. The project maintainer can choose
to unshare the bug later. When a branch is created, the owner is
subscribed for the same purpose, and can be unshared with later.
== Project sharing policies ==
Project maintainers can set policies that govern which information types
bugs, branches, and blueprints can become. The policy sets the default
type and what types users can change to. Public projects only have
the default "Public" policy.
[[CommercialHosting | Commercial projects]] can choose other policies
to control the what, if any, project information is disclosed.
There is a policy for each kind of thing that can change: bugs, branches,
and blueprints.
* '''Public''' <
>
New items as public unless they contain confidential information. Items
can be made Private or Private Security later.
* '''Public, can be proprietary''' <
>
New items are public, but can be made proprietary later.
* '''Proprietary, can be public''' <
>
New items are proprietary, but can be made public later.
Only people who can see the project's proprietary information
can create new branches or bugs.
* '''Proprietary''' <
>
New items are always proprietary.
Only people who can see the project's proprietary information
can create new branches.
* '''Embargoed, can be proprietary''' <
>
New branches are embargoed, but can be made proprietary later.
Only people who can see the project's proprietary information
can create new branches.
|| Sharing Policy || Public || Public Security || Private || Private Security || Proprietary || Embargoed ||
|| Public || Default || Yes || Yes || Yes || - || - ||
|| Public, can be proprietary || Default || Yes || Yes || Yes || Yes || - ||
|| Proprietary, can be public || Yes || Yes || Yes || Yes || Default || - ||
|| Proprietary || - || - || - || - || Default || - ||
|| Embargoed, can be proprietary || - || - || - || - || Yes || Default ||
/!\ Embargoed branches is only settable using Launchpad API.