1
0
mirror of https://github.com/privacyguides/privacyguides.org.git synced 2025-09-11 04:28:55 +00:00

Compare commits

..

14 Commits

Author SHA1 Message Date
fb38140ab7 forum 2 2024-08-07 16:05:22 -05:00
2988454e4e forum 2024-08-07 15:58:16 -05:00
a1ab33fd7b more 2024-08-07 14:40:13 -05:00
5eef029987 docs: Volunteer's handbook 2024-08-06 20:58:13 -05:00
redoomed1
17286cfeaf update: Add Canary Mail iOS download link (#2693)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: kimg45 <138676274+kimg45@users.noreply.github.com>
2024-08-06 14:26:40 -05:00
rollsicecream
bab8f88a13 update: VPN provider country count (#2698)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: kimg45 <138676274+kimg45@users.noreply.github.com>
2024-08-06 13:30:05 -05:00
redoomed1
e49d2df4b7 style: Add subheadings on Common Threats page (#2686)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-08-05 13:48:35 +09:30
redoomed1
1b8f5eb531 update: Linux Overview security updates (#2690)
- Remove Wayland section
- Add Permission Controls section

Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
2024-08-04 22:13:33 -05:00
Daniel Gray
d7c0f0d495 update: Mandatory access control explainer (#2691)
Co-authored-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2024-08-04 13:08:04 +09:30
kimg45
c0481d65d0 fix: Remove broken invidious embeds (#2585)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: redoomed1 <161974310+redoomed1@users.noreply.github.com>
2024-08-02 19:44:12 -05:00
redoomed1
42b75c9265 update: Remove mentions of transactional updates and X11 utilities (#2682)
Signed-off-by: Jonah Aragon <jonah@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-08-03 03:36:27 +09:30
9ad1c6450a ci: Use strict mkdocs builds on PR previews (#2685)
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
2024-08-02 23:32:16 +09:30
9d13fafa89 docs: Use style commit type for minor grammar/typo fixes (#2687)
Signed-off-by: Freddy <freddy@privacyguides.org>
Signed-off-by: Daniel Gray <dngray@privacyguides.org>
Signed-off-by: Mare Polaris <15004290+ph00lt0@users.noreply.github.com>
2024-08-02 23:19:48 +09:30
redoomed1
11f3f8ac13 fix: Resolve build warnings (#2684)
Co-Authored-By: Jonah Aragon <jonah@privacyguides.org>
2024-08-01 17:40:20 -05:00
25 changed files with 585 additions and 105 deletions

View File

@@ -69,6 +69,7 @@ jobs:
lang: en
continue-on-error: false
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
strict: true
build_i18n:
if: ${{ contains(github.event.pull_request.labels.*.name, 'ci:build i18n') }}
@@ -84,6 +85,7 @@ jobs:
lang: ${{ matrix.lang }}
continue-on-error: true
privileged: ${{ fromJSON(needs.metadata.outputs.privileged) }}
strict: true
combine_build:
needs: [build_english, build_i18n]

View File

@@ -24,6 +24,9 @@ on:
privileged:
type: boolean
default: true
strict:
type: boolean
default: false
permissions:
contents: read
@@ -61,6 +64,11 @@ jobs:
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --offline""
} >> "$GITHUB_ENV"
- name: Set Metadata for Strict Mode
if: inputs.strict
run: |
echo "EXTRA_FLAGS=""$EXTRA_FLAGS" --cmd_flags=--strict"" >> "$GITHUB_ENV"
- name: Download Repository
uses: actions/checkout@v4
with:

View File

@@ -137,13 +137,13 @@ In 2022, we completed the transition of our main website framework from Jekyll t
We additionally launched our new discussion forum at [discuss.privacyguides.net](https://discuss.privacyguides.net) as a community platform to share ideas and ask questions about our mission. This augments our existing community on Matrix, and replaced our previous GitHub Discussions platform, decreasing our reliance on proprietary discussion platforms.
In 2023, we launched international translations of our website in [French](/fr/), [Hebrew](/he/), [Dutch](/nl/), and more languages, made possible by our excellent translation team on [Crowdin](https://crowdin.com/project/privacyguides). We plan to continue carrying forward our mission of outreach and education, and finding ways to more clearly highlight the dangers of a lack of privacy awareness in the modern digital age, and the prevalence and harms of security breaches across the technology industry.
In 2023, we launched international translations of our website in [French](https://www.privacyguides.org/fr/), [Hebrew](https://www.privacyguides.org/he/), [Dutch](https://www.privacyguides.org/nl/), and more languages, made possible by our excellent translation team on [Crowdin](https://crowdin.com/project/privacyguides). We plan to continue carrying forward our mission of outreach and education, and finding ways to more clearly highlight the dangers of a lack of privacy awareness in the modern digital age, and the prevalence and harms of security breaches across the technology industry.
## Site License
<div class="admonition danger" markdown>
The following is a human-readable summary of (and not a substitute for) the [license](/license).
The following is a human-readable summary of (and not a substitute for) the [license](https://github.com/privacyguides/privacyguides.org/blob/main/README.md#license).
</div>

View File

@@ -0,0 +1,130 @@
---
title: Community Basics
---
Everything within our community must adhere to our conduct policies. This document deals with some trickier moderation decisions you may be wondering about.
[:material-book: Read our Code of Conduct](../../CODE_OF_CONDUCT.md){ .md-button .md-button--primary }
## Keep a Light Touch
In many situations, our community can be trusted to self-moderate. If you have been granted moderation privileges, you are empowered to make any moderation decisions you deem necessary.
However, it is better in many situations to enter a conversation and "cool down" the discussion taking place, or steer it towards a more constructive topic.
This is better than ending conversations, deleting posts, or locking threads in many situations. People can feel very passionate about some of the issues we discuss in our community, and this can lead to heated discussions, but in the end many such people only want to be a vocal advocate for their position, and can be guided to do so in a constructive manner.
Of course, conversations that devolve into harassment or other violations of our strict code of conduct should be ended immediately and reported.
## Identifying "Bad Faith" Comments
We should always strive to enter discussions in good faith. Likewise, we expect participants in our communities to engage in good faith as well. When reading comments in our community, comments which meet the following definition of "bad faith" should be removed:
1. The poster fails to provide reasoning for their criticism, and is unwilling to engage in a meaningful discussion.
2. The poster presents their criticism as factual, when it's really a matter of opinion.
3. The poster presents their critisicm as factual, when it's actually false or misinformation.
4. The poster is not looking for anything to be improved, they are simply spreading negativity.
5. The poster is speculating, but presenting their conjectures as informed or factual.
6. The poster engages in ad hominem attacks against us, community members, or other communities.
You should **never** close topics or remove comments simply because you personally disagree with the topic or direction of the conversation.
## Forum Organization
Generally speaking, this is what's most important in order for readers to comfortably read our forum:
1. Clear, concise topic titles
2. Thoughtful discussions
What is *less* important:
1. Proper categorization and tagging
2. Every post being perfectly on-topic
3. Removal of duplicate posts
These things are *good*, but they are not critical for our forum to function effectively. You are empowered to fix these things, but if you have any doubt that you are making the right changes it may be better if you hold off on doing so, or get a second opinion.
Generally speaking, the forum is divided into two overarching sections:
- **General Privacy Discussions:** Where privacy-related topics and news are discussed, where people ask questions
- **Site Development Discussions:** Where we talk about making changes to this website and our organization
A good rule of thumb when deciding where a post should go is whether the post would really benefit from or require a response from the Privacy Guides team specifically. We treat [site development](https://discuss.privacyguides.net/c/site-development/7) posts as an issue tracker, and strive to respond to and eventually answer/resolve every post in those categories.
General [privacy](https://discuss.privacyguides.net/c/privacy/4) discussions on the other hand can be responded to by *any* experts within the community, and may be more open-ended.
### Low Effort Posts
Posts which...
- Duplicate an existing topic
- Ask a vague, open-ended question without adding their own opinion to the discussion
- Don't provide enough information to have a meaningful conversation
- Discuss something completely off-topic for our community
...can generally be [unlisted](#locking--unlisting-topics).
### Where Should Tool Discussions Go?
This is a tricky subject which essentially requires you to use your best judgement. At the end of the day, the [tool suggestion](https://discuss.privacyguides.net/c/site-development/suggestions/6) category is for discussing tools which someone might legitimately argue should be added to the website. Even if the community disagrees and we mark the tool as a "rejected" addition, it serves as a valuable reference point in the future and allows us to re-open discussions if circumstances change.
For example, a post evaluating [*CalyxOS*](https://discuss.privacyguides.net/t/calyxos-android-rom/11614) would be posted to the Tool Discussions page even though it does not *currently* fit our [Android ROM](../../android/distributions.md) criteria. This is because it is frequently recommended in various privacy groups, and the discussion is relevant to our other Android ROM and criteria discussions.
On the other hand, it is more appropriate to have general discussions about some tools in the privacy discussions section, especially if those tools are not widely recommended for their privacy-protections or are highly unlikely to be included in the site.
For example, a post discussing the privacy problems and benefits of *Google Chrome* would not warrant a *Google Chrome* tool suggestion topic being made to fully evaluate it. Discussing privacy-relevant topics in non-private tools is on-topic for our general community, but does not necessitate any team feedback.
Posts that ask open-ended questions about a tool without adding any opinions of their own, like simply "what do you think about the privacy of *x*?" can usually be closed as low-effort, but consider our guidelines on [closing topics](#locking--unlisting-topics) below first. Particularly, keep in mind that if a significant discussion has already occurred, it may be best to leave it as-is. Oftentimes, you should ask the poster to consider posting it to tool suggestions alongside an explanation of why they're personally considering it in the first place, so that it can be properly evaluated by the community.
### Question Posts
Whether a post belongs in the questions category comes down to whether the question is specific, that is, whether the question in theory has a "correct" answer that can be selected. Open-ended questions that are only intended to spur discussion likely belong in the general discussions category instead.
**Specific questions** about tools can be asked in our questions category, but you should consider the following:
1. Specific questions about tools we recommend are allowed
2. Specific questions about tools we don't recommend *because there is no category for them on the site* are allowed
3. Specific questions about tools we don't recommend might be off-topic for our community.
This last point requires you to use your best judgement. For example, a question asking how to set a new tab page in Google Chrome is clearly off-topic, because we are not a tech support community.
### Duplicate Topics
It is very easy to find whether a post is a duplicate in most cases if you select the **Related** tab below the post, instead of the default **Suggested** tab.
Posts which are exact duplicates can usually be [unlisted](#locking--unlisting-topics), with a link to the topic that it duplicates.
One exception includes if the post already has significant discussion in the replies. In this case, read the discussion and decide whether it would still make sense if the entire discussion was appended to the existing discussion.
- If it would make sense, it's probably acceptable to merge the topics and unlist the new one.
- If it would be confusing, it's probably best to leave both discussions as-is.
Posts which are merely similar can be merged, but only do so if the resulting single topic would make sense. If the conversations have diverged enough, it is okay to leave both discussions as-is.
### Splitting Topics
Try to avoid splitting topics, unless you can do so in a way where the resulting topic both makes sense as a standalone discussion, and is clearly distinct from the original post.
Oftentimes this is most appropriate for splitting off *specific questions* (see above) from larger discussions. Doing this is beneficial to the forum and for readers, because topics posted as questions are in a special Q&A format where an answer can be selected for easy future reference.
If you're only splitting off a handful of posts, consider whether the split would actually improve the reading experience. It is usually acceptable to let discussion topics veer off-course occasionally, as long as those comments don't commandeer the topic entirely.
### Locking & Unlisting Topics
Tool Suggestions, Guide Suggestions, and general Site Development posts should **always** be locked when they are tagged as "completed." This is because they use a voting system, where each user has a limited number of votes they can use at once, and locking the post returns any votes to readers.
Otherwise, these posts should almost never be locked or unlisted.
General discussion posts should usually be **unlisted** if they are duplicates. However, if significant discussion has already occurred, consider [merging](#duplicate-topics) them or keeping them both listed. They can also be unlisted if they are low-effort posts, but it is usually better to [flag](#flagging-posts) those posts instead of directly using the unlist method.
Posts should be **locked** if conversations are occurring that violate our code of conduct. Generally, posts don't need to be locked if there isn't a clear reason to immediately stop the conversation that is taking place. Unlisting is adequate in most cases.
### Flagging Posts
Even moderators are strongly encouraged to use the flagging system instead of directly taking action on off-topic or low-effort posts, or posts which violate our standards on civility, conduct, and spam.
Users who have Trust Level 4 (all team members) will have their flags take effect to hide the target post immediately. We have specific team members dedicated to *resolving* community issues on a permanent basis, who will be able to take action based on those flags.
The flagging system also allows us to directly communicate the poster via the forum system to let them know why their post was flagged, and how they can potentially resolve the issue. When you take direct action on a post, it can sometimes be unclear why that action occurred.
People with elevated moderator access will be able to take action on a flag directly during the flagging process by using the *Take Action* button while reporting. If you do not have this access, your flag will still act to hide the post in question for later triage.

View File

@@ -0,0 +1,128 @@
---
title: Volunteer Guidelines
---
We are committed to ensuring that Privacy Guides is and always will be a welcoming destination for people from all walks of life to learn, discuss, and connect with one another.
The Privacy Guides Community is first and foremost a place for learning. Volunteers and community members who give advice or join conversations in bad faith, purposefully misinform others, or otherwise engage in poor conduct according to these guidelines run the risk of being permanently removed from our community.
If you notice anyone not following these guidelines, you may have a private and respectful discussion with them about it, or you may notify the project director of the situation. You should not publicly accuse any of your fellow volunteers of misbehavior. This does not mean to keep violations "under wraps," you may always involve the project director or executive committee in any situation, and very serious violations such as a violation of our [harassment](#anti-racism-harassment-and-bullying) policy will be dealt with immediately.
## Basics
1. Foster constructive discussions: You should **never** use your status as a trusted volunteer team member to shut down discussions or assert "superiority" over other community members in our spaces. Our role is to act as stewards of discussion and knowledge-sharing, not to impose our own ideals or opinions.
2. Do not speak on behalf of Privacy Guides, or present your opinions as the opinions of Privacy Guides. The only opinions of Privacy Guides are those expressed on this website, which have been subject to our [review process](reviews.md) and community consensus. Postings by team members on our forum or other spaces are the opinions of that individual team member, and should always be expressed as such.
3. Do not use your status (GitHub org membership, forum flair, etc.) or resources (email account, etc.) at Privacy Guides to request complimentary goods or services from companies. If you require any software/hardware/materials for a review, please [request resources](resources.md) from the executive committee.
4. Always identify yourself as an individual working with Privacy Guides. You could begin an email similarly to: "Hello, my name is [name] and I am a [writer/volunteer/journalist/contributor] with Privacy Guides."
## Code of Ethics
As a volunteer with Privacy Guides, you are expected to maintain ethics and professional conduct within our communities, during volunteer activities, and/or when representing this project. We expect our volunteers to act respectfully, honestly, and ethically while fulfilling their responsibilities, and in their interactions with our staff, fellow volunteers, and community members.
### Writing & Engagement
In all of your volunteer work, you must respect legitimate intellectual property rights, do not plagiarize work, and give credit to the originators of ideas.
Dont share the posts of others without permission.
### Anti-Racism, Harassment, and Bullying
Privacy Guides has a zero-tolerance policy for racism, discrimination, sexual harassment, and bullying of any kind.
These behaviors include but are not limited to: statements meant to humiliate a person publicly or individually; the use of racial slurs or “jokes”; sexually explicit communication; any unwanted sexual attention; harassment due to a persons race, color, gender, identity, religion, language, medical condition, age, culture, national origin, gender expression, disability, marital status, or sexual orientation.
If you witness these behaviors, you are required to notify Jonah Aragon (Project Director) immediately. If you engage in any of these behaviors, you will receive prompt disciplinary action and/or termination without notice.
### Confidentiality
During the course of their duties, volunteers will likely have access to, deal with, or become aware of confidential information and circumstances surrounding those we work with or serve. This information must be kept strictly confidential. Any breach of confidentiality will result in disciplinary action up to and including the termination of volunteer services.
## Conflicts of Interest
It is likely a conflict of interest when a contribution you are making involves yourself, family, friends, clients, employers, or your financial and other relationships. **Any** external relationship can trigger a conflict of interest.
Having a conflict of interest is a description of a situation, not a judgment about that person's opinions or integrity. Conflict of interest is not the same as bias, and can still exist in the absence of bias. Likewise, there are many situations where one may be biased without a conflict of interest. Contributions which are merely biased by personal beliefs or desires are discouraged, but not subject to this specific conflict of interest policy.
Making contributions where you have a conflict of interest is highly discouraged. This undermines trust in Privacy Guides, and risks eventually causing embarrassment to yourself and the companies, tools, or individuals being promoted. If you have a conflict of interest, you are not able to judge how much that conflict of interest has influenced your editing.
**Anyone** with a conflict of interest **must** disclose this status whenever you seek to change content which affects that interest, or provide advice to users within our communities.
### Tool Developers
Occasionally the developers or authors of a tool will create a Pull Request to add their own work. This is discouraged, but technically acceptable because they will not be involved with the review process. We treat these submissions as we do [self-submissions](https://discuss.privacyguides.net/t/about-the-project-showcase-category/114) on our forum.
In virtually all cases, the entire Pull Request will be entirely re-written by our writing and review team. This leads to the Pull Request being left open for much longer than our standard proposals, and creates duplicate work for all involved.
We strongly encourage developers to use our forum to highlight their own work instead.
### Website Reviewers
==If you have a conflict of interest, you may not mark Pull Requests related to that interest as *Approved*.==
You may leave comments if needed, but ideally you should have no involvement with the Pull Request at all. If you leave a comment or request changes, you must disclose your conflict of interest as usual. Please respect other reviewers by keeping your comments concise.
### Paid Contributions
Paid work of great concern to the community involves attempting to use Privacy Guides for public relations or marketing purposes.
If you receive or expect to receive any form of compensation for your contributions to Privacy Guides, you must disclose who is paying you and any other relevant affiliations.
People who are paid by Privacy Guides directly for work approved by the executive committee are exempt from this rule.
## Behavior
1. **Mistakes are allowed.** We do not expect perfection from our volunteers and community members, and generally if you have the power to do something you should feel empowered to do it without worrying about consequences or criticism.
- Mistakes may not be acceptable if: They are purposeful (therefore they aren't mistakes), or they continue to reoccur after one has been warned that similar actions were mistakes.
- Mistakes will be met with counsel from the project director or another team member, so that we can learn from them.
2. **Questions are allowed,** and not only that, but they are strongly encouraged and considered productive.
- If you have a question about *anything at all*, you should always ask the project director, an executive committee member, or another team member for advice. We are all here to help each other.
- Asking questions indicates that you're acting in good faith, you're eager to collaborate, and you're concerned with improving Privacy Guides as a whole.
3. **Bias is allowed.** In fact, all contributors *will* have bias, as is usually the case when people volunteer to help something they're passionate about.
- Bias becomes a problem when you see your own biases as neutral, or when you assume that resistance to approve your contributions is founded in bias to an opposing point of view.
- Always allow for the possibility that you are wrong, and never attribute motive to the actions of other contributors.
- *Repeatedly pushing* for biased edits is unwelcome and may see you removed from trusted positions or from making contributions in certain topic areas.
## Consensus & Disputes
Our administrative process is geared towards protecting the stability and trust of Privacy Guides. It is not a democracy, and it's not geared towards "justice" or "definitively proving who's in the right." It is designed around the principle that the needs of the many—our team and our overall readership as a whole—outweigh the desires of the one.
Our expectation when it comes to disputes is that they are quickly resolved with a result that's acceptable to the consensus of our team and community, so that we can get back to the work that actually matters.
We've learned valuable lessons over the past 5 years that have shaped this policy. You may be warned for acting disagreeable, nit-picking, finger-pointing, clearly just trying to "win" arguments at all costs, dragging out conflicts, being excessively individualistic, or stubbornly "not getting it."
Every once in a while this behavior has led some contributors to dramatically leave the project in the hopes of attracting "please don't go" messages and support for their high-maintenance demands, and to use their past contributions to establish some reputational capital for whatever new project they're working on. We wish them well, and are okay with seeing these contributors be replaced with new contributors who don't have a constant need for self-promotion and personal validation.
While we expect disputes to resolve collaboratively, if a dispute cannot be resolved quickly, it will be decided by the project director (staff). If the dispute continues further, action will be taken by the executive committee.
Enforcement by the executive committee will virtually never favor *arguments ad nauseum* to defy the general community's consensus, regardless of whether the arguer is "technically correct," because the very act is highly disruptive in and of itself. If you are temperamental and uncollaborative you will likely be asked to leave the team.
If this might be you, walking away from Privacy Guides for a little while is an option that's available to you, and it's probably not a bad one.
## Other Communities
Generally, we prefer to be "blind" to other privacy communities, rather than endorsing or criticizing others. As a rule of thumb, if a community isn't notable enough to have a Wikipedia page, we should not engage with them.
These rules are **critical** to follow if you are trusted with a forum flair, mod/admin label, or email account. These statuses intertwine your behavior with the reputation of our project, and should be handled with the utmost respect.
1. Do not share negative personal opinions of other communities, content creators, or companies in our official spaces. Avoid criticism of others in the privacy space in general, unless you are refuting a specific point being made, and are providing evidence to back up your correction. If you see these discussions occurring, gently try to steer the topic towards something more constructive.
- Occasionally, lesser-known creators attempt to discredit Privacy Guides to boost their own popularity. Responding to false "allegations" only serves to boost the visibility of people acting in bad faith. We would much prefer to boost the excellent efforts of everyone acting in good faith within our communities!
- It is our job to make sure Privacy Guides is the best and most trustworthy source of knowledge in the privacy space. It is **not** our job to bring attention to or discredit other creators in the privacy space.
- Avoiding "in-fighting" and "drama" allows us to focus our efforts on the actual privacy offenders: governments, large corporations, etc.
2. Members of other privacy communities *are* allowed to promote their own work on Matrix. They may promote their own work on the forum, provided that they follow our [self-promotional guidelines](https://discuss.privacyguides.net/t/about-the-project-showcase-category/114) beforehand.
- Of course, the work they are sharing must follow our [community guidelines](community.md). If it's something that wouldn't be appropriate to post on our forum on its own, then a link to it isn't acceptable either.
3. **Never** engage with [these entities](https://discuss.privacyguides.net/t/blacklisted-communities/19915).
- If you are a staff member, team member, volunteer, moderator, or otherwise are officially associated with these entities in any capacity, you are ineligible to make contributions to Privacy Guides. You may still participate in our communities in good faith.
- Unfortunately, some entities are responsible for inordinate amounts of abuse, harassment, and other negative behavior. Such is life on the internet! To avoid unnecessary drama, this list of blacklisted communities is only viewable by the current volunteer team.

View File

@@ -0,0 +1,55 @@
---
title: Volunteer's Handbook
---
Thank you for choosing to spend your time contributing to Privacy Guides. Founded in 2021, our 501(c)(3) non-profit operates several staff-led but **volunteer- and community-powered** initiatives, including our educational resources and online communities. As a volunteer with Privacy Guides, you are contributing to improving the digital privacy & security of countless readers, and to ending the modern state of surveillance capitalism.
As a trusted volunteer, you are taking on a great responsibility to act as stewards of the community and to work dilligently to improve our resources, communities, and projects.
We strive for everybody within our community to hold themselves to the highest standards, but as a community member with a trusted role—whether as an approved reviewer, community moderator, writer, or some other role—we expect that you familiarize yourself with this handbook and act as role models for others.
[:material-book: Read our Volunteer Guidelines](guidelines.md){ .md-button .md-button--primary }
## Mission Statement
**Our purpose**
: To improve digital privacy and security
**Our mission**
: To provide educational resources which are easily accessible, and to foster constructive and helpful discussions within our online communities
**Our culture**
: Cultivating an atmosphere of welcoming, knowledge, and excellence
Our *values* include ensuring everyone feels welcomed, encouraged and heard; leading with kindness by choosing compassion over judgment and assuming good faith; continuously learning and improving ourselves; collaborating together to achieve our goals; and serving, solving problems, and celebrating together as a single team.
<div class="grid" markdown>
<div markdown>
Privacy Guides is...
:material-check-bold:{ .pg-green } Friendly
:material-check-bold:{ .pg-green } Knowledgable
:material-check-bold:{ .pg-green } Helpful
</div>
<div markdown>
Privacy Guides is **not**...
:material-close-thick:{ .pg-red } Judgemental
:material-close-thick:{ .pg-red } Fearmongering
:material-close-thick:{ .pg-red } Toxic
</div>
</div>

View File

@@ -0,0 +1,13 @@
---
title: Request Resources
---
Privacy Guides can provide access to various resources on an **as needed** basis. These could include:
1. Email accounts/forwarding/aliases
2. Reimbursement for purchases
3. SSH access to various machines
4. Secure VPN tunnels
5. Much more...
Please [post a request](https://discuss.privacyguides.net/c/meta/team/12) internally with justification for anything you need.

View File

@@ -0,0 +1,39 @@
---
title: Git Reviews
---
Anyone who is interested in helping us out is encouraged to leave reviews on GitHub, even if you are not a trusted reviewer yet. We primarily invite new reviewers based on a history of constructive *Requests for Changes* and appropriate *Approvals*.
[:material-github: How to Review a Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request){ .md-button .md-button--primary }
All changes to *privacyguides.org* are required to be reviewed and approved by **2** trusted reviewers, which is anyone granted write access to the repository.
## Basic Principles
There are a number of basic rules which apply to all [pull requests](https://github.com/privacyguides/privacyguides.org/pulls) to *privacyguides.org*.
### 1. Community Interest
**When reviewing content you are acting as the voice of the community, not pushing forward your own agenda.** While ultimate approval will come down to you, always try to make your decision based on what is best for Privacy Guides and what is most aligned with community consensus.
It is generally not appropriate to use a Request for Changes to block an opinion you disagree with, if the change being made has been discussed and agreed to by the community, and there are no factual errors.
Likewise, it is generally not appropriate to Approve a PR which has no clear community consensus.
### 2. Prior Discussion
Pull requests which add new information to the website should always have an associated discussion on our [forum](https://discuss.privacyguides.net/c/site-development/7). The Pull Request description should link directly to that discussion. Pull Requests which have not been discussed within the community should be marked as `missing discussion` on GitHub and immediately closed. We can always re-open them later!
Please be respectful when communicating with Pull Request authors who are in violation of this rule. Many are first-time contributors who will be unaware of how we work here, or are familiar with other privacy-related projects which have much less stringent review criteria than we do. We want to keep these people involved with our community!
In some cases, Pull Requests are authored by the developer of the tool being suggested. Again, we want to keep these developers engaged and involved with the general privacy community, they can be the best people to direct feedback to after all. Please inform them of our [self-submission process](https://discuss.privacyguides.net/t/about-the-project-showcase-category/114), so they can be directly involved with the evaluation process.
Pull Requests which merely correct information on the website or make other non-editorial changes generally do not require prior discussion. In these cases the Pull Request description should clearly describe both what the changes being made are, **and why** the changes are being made.
### 3. Taking Ownership
When you add a review to a Pull Request, you are taking (at least partial) ownership of that PR. This means that you are committing to follow the PR from its current state to either it being merged or closed.
Please especially do not perform "drive by" requests for changes. You should follow all discussions in the PR regarding the changes you requested, and if the problems you identified have been resolved then you should change your review to an approval. Alternatively, if you still don't feel comfortable approving the PR then you may dismiss your review.
If you no longer wish to be involved with the PR, please dismiss your existing review.

View File

@@ -16,7 +16,7 @@ Privacy Guides additionally does not warrant that this website will be constantl
<div class="admonition danger" markdown>
The following is a human-readable summary of (and not a substitute for) the [license](/license).
The following is a human-readable summary of (and not a substitute for) the [license](https://github.com/privacyguides/privacyguides.org/blob/main/README.md#license).
</div>

55
docs/about/volunteer.md Normal file
View File

@@ -0,0 +1,55 @@
---
title: Volunteer Positions
---
Thank you for choosing to help improve Privacy Guides. We are in need of volunteers in many different areas! Positions which ask for an application are handled on a **quarterly** basis, so you are committing to 3 months of volunteer work when you apply.
<div class="grid cards" markdown>
- :material-check-all:{ .lg .middle } **Review Team**
---
One of our most critical tasks is reviewing and approving proposed changes to this website. We are always in need of reviewers/editors, especially those with English experience.
[:octicons-arrow-right-24: Get Started](handbook/reviews.md)
- :material-pencil-box:{ .lg .middle } **Blog Writer**
---
We are looking for insightful and experienced writers who can share stories, advice, and news about privacy and security on our [blog](https://blog.privacyguides.org).
Estimated commitment: ~2 hours / week
[:octicons-arrow-right-24: Apply](#)
- :material-newspaper:{ .lg .middle } **Press Team**
---
We want to build relationships with press organizations, if you have any public relations or press experience, this would be an excellent area to help out in.
Estimated commitment: ~2 hours / week
[:octicons-arrow-right-24: Apply](#)
- :material-post:{ .lg .middle } **Social Media Director**
---
We are looking for an excellent communicator experienced in social media strategy and trends to review posts and help develop our social media strategy.
Estimated commitment: ~4 hours / week
[:octicons-arrow-right-24: Apply](#)
- :material-help-circle:{ .lg .middle } **Advisory Team**
---
If you are a subject matter expert in a specific field of privacy or technology, you can join our list of contacts we can reach out to when we are in need of expert advice to write an article or post a recommendation.
[:octicons-arrow-right-24: Join](#)
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -42,7 +42,7 @@ schema:
These myths stem from a number of prejudices, but whether the source code is available and how software is licensed does not inherently affect its security in any way. ==Open-source software has the *potential* to be more secure than proprietary software, but there is absolutely no guarantee this is the case.== When you evaluate software, you should look at the reputation and security of each tool on an individual basis.
Open-source software *can* be audited by third-parties, and is often more transparent about potential vulnerabilities than proprietary counterparts. It also allows you to review the code and disable any suspicious functionality you find yourself. However, *unless you do so*, there is no guarantee that code has ever been evaluated, especially with smaller software projects. The open development process has also sometimes been exploited to introduce new vulnerabilities known as <span class="pg-viridian">:material-package-variant-closed-remove: Supply Chain Attacks</span>, which are discussed further in our [Common Threats](common-threats.md) page.[^1]
Open-source software *can* be audited by third-parties, and is often more transparent about potential vulnerabilities than proprietary counterparts. It also allows you to review the code and disable any suspicious functionality you find yourself. However, *unless you do so*, there is no guarantee that code has ever been evaluated, especially with smaller software projects. The open development process has also sometimes been exploited to introduce new vulnerabilities known as [:material-package-variant-closed-remove: Supply Chain Attacks](common-threats.md#attacks-against-certain-organizations){ .pg-viridian }, which are discussed further in our [Common Threats](common-threats.md) page.[^1]
On the flip side, proprietary software is less transparent, but that doesn't imply that it's not secure. Major proprietary software projects can be audited internally and by third-party agencies, and independent security researchers can still find vulnerabilities with techniques like reverse engineering.

View File

@@ -6,15 +6,41 @@ description: Your threat model is personal to you, but these are some of the thi
Broadly speaking, we categorize our recommendations into the [threats](threat-modeling.md) or goals that apply to most people. ==You may be concerned with none, one, a few, or all of these possibilities==, and the tools and services you use depend on what your goals are. You may have specific threats outside of these categories as well, which is perfectly fine! The important part is developing an understanding of the benefits and shortcomings of the tools you choose to use, because virtually none of them will protect you from every threat.
- <span class="pg-purple">:material-incognito: Anonymity</span> - Shielding your online activity from your real identity, protecting you from people who are trying to uncover *your* identity specifically.
- <span class="pg-red">:material-target-account: Targeted Attacks</span> - Being protected from hackers or other malicious actors who are trying to gain access to *your* data or devices specifically.
- <span class="pg-orange">:material-bug-outline: Passive Attacks</span> - Being protected from things like malware, data breaches, and other attacks that are made against many people at once.
- <span class="pg-viridian">:material-package-variant-closed-remove: Supply Chain Attacks</span> - A vulnerability or exploit introduced into otherwise good software either directly or through a dependency from a third party.
- <span class="pg-teal">:material-server-network: Service Providers</span> - Protecting your data from service providers (e.g. with E2EE, which renders your data unreadable to the server).
- <span class="pg-blue">:material-eye-outline: Mass Surveillance</span> - Protection from government agencies, organizations, websites, and services which work together to track your activities.
- <span class="pg-brown">:material-account-cash: Surveillance Capitalism</span> - Protecting yourself from big advertising networks, like Google and Facebook, as well as a myriad of other third-party data collectors.
- <span class="pg-green">:material-account-search: Public Exposure</span> - Limiting the information about you that is accessible online—to search engines or the general public.
- <span class="pg-blue-gray">:material-close-outline: Censorship</span> - Avoiding censored access to information or being censored yourself when speaking online.
<span class="pg-purple">:material-incognito: **Anonymity**</span>
: Shielding your online activity from your real identity, protecting you from people who are trying to uncover *your* identity specifically.
<span class="pg-red">:material-target-account: **Targeted Attacks**</span>
: Being protected from hackers or other malicious actors who are trying to gain access to *your* data or devices specifically.
<span class="pg-viridian">:material-package-variant-closed-remove: **Supply Chain Attacks**</span>
: Typically a form of <span class="pg-red">:material-target-account: Targeted Attack</span> that centers around a vulnerability or exploit introduced into otherwise good software either directly or through a dependency from a third party.
<span class="pg-orange">:material-bug-outline: **Passive Attacks**</span>
: Being protected from things like malware, data breaches, and other attacks that are made against many people at once.
<span class="pg-teal">:material-server-network: **Service Providers**</span>
: Protecting your data from service providers (e.g. with E2EE, which renders your data unreadable to the server).
<span class="pg-blue">:material-eye-outline: **Mass Surveillance**</span>
: Protection from government agencies, organizations, websites, and services which work together to track your activities.
<span class="pg-brown">:material-account-cash: **Surveillance Capitalism**</span>
: Protecting yourself from big advertising networks, like Google and Facebook, as well as a myriad of other third-party data collectors.
<span class="pg-green">:material-account-search: **Public Exposure**</span>
: Limiting the information about you that is accessible online—to search engines or the general public.
<span class="pg-blue-gray">:material-close-outline: **Censorship**</span>
: Avoiding censored access to information or being censored yourself when speaking online.
Some of these threats may be more important to you than others, depending on your specific concerns. For example, a software developer with access to valuable or critical data may be primarily concerned with <span class="pg-viridian">:material-package-variant-closed-remove: Supply Chain Attacks</span> and <span class="pg-red">:material-target-account: Targeted Attacks</span>. They will likely still want to protect their personal data from being swept up in <span class="pg-blue">:material-eye-outline: Mass Surveillance</span> programs. Similarly, many people may be primarily concerned with <span class="pg-green">:material-account-search: Public Exposure</span> of their personal data, but they should still be wary of security-focused issues, such as <span class="pg-orange">:material-bug-outline: Passive Attacks</span>—like malware affecting their devices.
@@ -45,6 +71,8 @@ Desktop operating systems generally lag behind on proper sandboxing. ChromeOS ha
</div>
## Attacks against Specific Individuals
<span class="pg-red">:material-target-account: Targeted Attacks</span>
Targeted attacks against a specific person are more problematic to deal with. Common attacks include sending malicious documents via email, exploiting vulnerabilities (e.g. in browsers and operating systems), and physical attacks. If this is a concern for you, you should employ more advanced threat mitigation strategies.
@@ -58,6 +86,8 @@ By design, **web browsers**, **email clients**, and **office applications** typi
If you are concerned about **physical attacks** you should use an operating system with a secure verified boot implementation, such as Android, iOS, macOS, or [Windows (with TPM)](https://learn.microsoft.com/windows/security/information-protection/secure-the-windows-10-boot-process). You should also make sure that your drive is encrypted, and that the operating system uses a TPM or Secure [Enclave](https://support.apple.com/guide/security/secure-enclave-sec59b0b31ff/1/web/1) or [Element](https://developers.google.com/android/security/android-ready-se) to rate limit attempts to enter the encryption passphrase. You should avoid sharing your computer with people you don't trust, because most desktop operating systems don't encrypt data separately per-user.
## Attacks against Certain Organizations
<span class="pg-viridian">:material-package-variant-closed-remove: Supply Chain Attacks</span>
Supply chain attacks are frequently a form of <span class="pg-red">:material-target-account: Targeted Attack</span> towards businesses, governments, and activists, although they can end up compromising the public at large as well.
@@ -71,19 +101,19 @@ A notable example of this occurred in 2017 when M.E.Doc, a popular accounting so
There are few ways in which this type of attack might be carried out:
1. A contributor or employee might work their way into a position of power within a project or organization, then abuse that position by adding malicious code.
1. A contributor or employee might first work their way into a position of power within a project or organization, and then abuse that position by adding malicious code.
2. A developer may be coerced by an outside party to add malicious code.
3. An individual or group might identify a third party software dependency (also known as a library) and work to infiltrate it with the above two methods, knowing that it will be used by "downstream" software developers.
These sorts of attacks can require a lot of time and preparation to perform and are risky because they can be detected, particularly in open source projects if they are popular and have outside interest. Unfortunately they're also one of the most dangerous as they are very hard to mitigate entirely. We would encourage readers only use software which has a good reputation and makes an effort to reduce risk by:
These sorts of attacks can require a lot of time and preparation to perform and are risky because they can be detected, particularly in open source projects if they are popular and have outside interest. Unfortunately they're also one of the most dangerous as they are very hard to mitigate entirely. We would encourage readers to only use software which has a good reputation and makes an effort to reduce risk by:
1. Only adopting popular software that has been around for a while. The more interest in a project the greater likelihood that external parties will notice malicious changes. A malicious actor will also need to spend more time gaining community trust with meaningful contributions.
1. Only adopting popular software that has been around for a while. The more interest in a project, the greater likelihood that external parties will notice malicious changes. A malicious actor will also need to spend more time gaining community trust with meaningful contributions.
2. Finding software which releases binaries with widely-used, trusted build infrastructure platforms, as opposed to developer workstations or self-hosted servers. Some systems like GitHub Actions let you inspect the build script that runs publicly for extra confidence. This lessens the likelihood that malware on a developer's machine could infect their packages, and gives confidence that the binaries produced are in fact produced correctly.
3. Looking for code signing on individual source code commits and releases, which creates an auditable trail of who did what. For example: Was the malicious code in the software repository? Which developer added it? Was it added during the build process?
4. Checking whether the source code has meaningful commit messages (such as [conventional commits](https://conventionalcommits.org)) which explain what the change is supposed to accomplish. Clear messages can make it easier for outsiders to the project to verify, audit, and find bugs.
5. Noting the number of contributors or maintainers a program has. A lone developer may be more susceptible to being coerced into adding malicious code by an external party, or to negligently enable undesirable behavior. This may very well mean software developed by "Big Tech" has more scrutiny than a lone developer who doesn't answer to anyone.
4. Checking whether the source code has meaningful commit messages (such as [conventional commits](https://conventionalcommits.org)) which explain what each change is supposed to accomplish. Clear messages can make it easier for outsiders to the project to verify, audit, and find bugs.
5. Noting the number of contributors or maintainers a program has. A lone developer may be more susceptible to being coerced into adding malicious code by an external party, or to negligently enabling undesirable behavior. This may very well mean software developed by "Big Tech" has more scrutiny than a lone developer who doesn't answer to anyone.
## Privacy From Service Providers
## Privacy from Service Providers
<span class="pg-teal">:material-server-network: Service Providers</span>
@@ -98,7 +128,7 @@ Thankfully, E2EE can alleviate this issue by encrypting communications between y
In practice, the effectiveness of different E2EE implementations varies. Applications, such as [Signal](../real-time-communication.md#signal), run natively on your device, and every copy of the application is the same across different installations. If the service provider were to introduce a [backdoor](https://en.wikipedia.org/wiki/Backdoor_(computing)) in their application—in an attempt to steal your private keys—it could later be detected with [reverse engineering](https://en.wikipedia.org/wiki/Reverse_engineering).
On the other hand, web-based E2EE implementations, such as Proton Mail's webmail or Bitwarden's *Web Vault*, rely on the server dynamically serving JavaScript code to the browser to handle cryptography. A malicious server can target you and send you malicious JavaScript code to steal your encryption key (and it would be extremely hard to notice). Because the server can choose to serve different web clients to different people—even if you noticed the attack—it would be incredibly hard to prove the provider's guilt.
On the other hand, web-based E2EE implementations, such as Proton Mail's web app or Bitwarden's *Web Vault*, rely on the server dynamically serving JavaScript code to the browser to handle cryptography. A malicious server can target you and send you malicious JavaScript code to steal your encryption key (and it would be extremely hard to notice). Because the server can choose to serve different web clients to different people—even if you noticed the attack—it would be incredibly hard to prove the provider's guilt.
Therefore, you should use native applications over web clients whenever possible.
@@ -121,7 +151,7 @@ In France you can take a look at the [Technopolice website](https://technopolice
</div>
Governments often justify mass surveillance programs as necessary means to combat terrorism and prevent crime. However, breaching human rights, it's most often used to disproportionately target minority groups and political dissidents, among others.
Governments often justify mass surveillance programs as necessary means to combat terrorism and prevent crime. However, as breaches of human rights, they're most often used to disproportionately target minority groups and political dissidents, among others.
<div class="admonition quote" markdown>
<p class="admonition-title">ACLU: <em><a href="https://aclu.org/news/national-security/the-privacy-lesson-of-9-11-mass-surveillance-is-not-the-way-forward">The Privacy Lesson of 9/11: Mass Surveillance is Not the Way Forward</a></em></p>
@@ -132,7 +162,7 @@ In the face of Edward Snowden's disclosures of government programs such as [PRIS
Despite growing mass surveillance in the United States, the government has found that mass surveillance programs like Section 215 have had "little unique value" with respect to stopping actual crimes or terrorist plots, with efforts largely duplicating the FBI's own targeted surveillance programs.[^2]
Online, you can be tracked via a variety of methods:
Online, you can be tracked via a variety of methods, including but not limited to:
- Your IP address
- Browser cookies
@@ -140,10 +170,10 @@ Online, you can be tracked via a variety of methods:
- Your browser or device fingerprint
- Payment method correlation
\[This list isn't exhaustive].
If you're concerned about mass surveillance programs, you can use strategies like compartmentalizing your online identities, blending in with other users, or, whenever possible, simply avoiding giving out identifying information.
## Surveillance as a Business Model
<span class="pg-brown">:material-account-cash: Surveillance Capitalism</span>
> Surveillance capitalism is an economic system centered around the capture and commodification of personal data for the core purpose of profit-making.[^3]

View File

@@ -75,11 +75,9 @@ WebAuthn is the most secure and private form of second factor authentication. Wh
When you create an account, the public key is sent to the service, then when you log in, the service will require you to "sign" some data with your private key. The benefit of this is that no password data is ever stored by the service, so there is nothing for an adversary to steal.
This presentation discusses the history of password authentication, the pitfalls (such as password reuse), and discussion of FIDO2 and [WebAuthn](https://webauthn.guide) standards.
This presentation discusses the history of password authentication, the pitfalls (such as password reuse), and the standards for FIDO2 and [WebAuthn](https://webauthn.guide):
<div class="yt-embed">
<iframe width="560" height="315" src="https://invidious.privacyguides.net/embed/aMo4ZlWznao?local=true" title="How FIDO2 and WebAuthn Stop Account Takeovers" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
- [How FIDO2 and WebAuthn Stop Account Takeovers](https://youtu.be/aMo4ZlWznao) <small>(YouTube)</small>
FIDO2 and WebAuthn have superior security and privacy properties when compared to any MFA methods.

View File

@@ -16,7 +16,7 @@ Linux distributions are commonly recommended for privacy protection and software
![Fedora logo](assets/img/linux-desktop/fedora.svg){ align=right }
**Fedora Workstation** is our recommended distribution for people new to Linux. Fedora generally adopts newer technologies before other distributions e.g., [Wayland](https://wayland.freedesktop.org), [PipeWire](https://pipewire.org). These new technologies often come with improvements in security, privacy, and usability in general.
**Fedora Workstation** is our recommended distribution for people new to Linux. Fedora generally adopts newer technologies (e.g., [Wayland](https://wayland.freedesktop.org) and [PipeWire](https://pipewire.org)) before other distributions. These new technologies often come with improvements in security, privacy, and usability in general.
[:octicons-home-16: Homepage](https://fedoraproject.org/workstation){ .md-button .md-button--primary }
[:octicons-info-16:](https://docs.fedoraproject.org/en-US/docs){ .card-link title=Documentation}
@@ -36,7 +36,7 @@ Fedora has a semi-rolling release cycle. While some packages like [GNOME](https:
**openSUSE Tumbleweed** is a stable rolling release distribution.
openSUSE Tumbleweed has a [transactional update](https://kubic.opensuse.org/blog/2018-04-04-transactionalupdates) system that uses [Btrfs](https://en.wikipedia.org/wiki/Btrfs) and [Snapper](https://en.opensuse.org/openSUSE:Snapper_Tutorial) to ensure that snapshots can be rolled back should there be a problem.
openSUSE Tumbleweed uses [Btrfs](https://en.wikipedia.org/wiki/Btrfs) and [Snapper](https://en.opensuse.org/openSUSE:Snapper_Tutorial) to ensure that snapshots can be rolled back should there be a problem.
[:octicons-home-16: Homepage](https://get.opensuse.org/tumbleweed){ .md-button .md-button--primary }
[:octicons-info-16:](https://doc.opensuse.org){ .card-link title=Documentation}
@@ -54,7 +54,7 @@ Tumbleweed follows a rolling release model where each update is released as a sn
![Arch logo](assets/img/linux-desktop/archlinux.svg){ align=right }
**Arch Linux** is a lightweight, do-it-yourself (DIY) distribution meaning that you only get what you install. For more information see their [FAQ](https://wiki.archlinux.org/title/Frequently_asked_questions).
**Arch Linux** is a lightweight, do-it-yourself (DIY) distribution, meaning that you only get what you install. For more information see their [FAQ](https://wiki.archlinux.org/title/Frequently_asked_questions).
[:octicons-home-16: Homepage](https://archlinux.org){ .md-button .md-button--primary }
[:octicons-info-16:](https://wiki.archlinux.org){ .card-link title=Documentation}
@@ -72,7 +72,7 @@ A large portion of [Arch Linuxs packages](https://reproducible.archlinux.org)
## Atomic Distributions
**Atomic distributions** (sometimes also referred to as **immutable distributions**) are operating systems which handle package installation and updates by layering changes atop your core system image, rather than by directly modifying the system. This has advantages including increased stability and the ability to easily rollback updates. See [*Traditional vs. Atomic Updates*](os/linux-overview.md#traditional-vs-atomic-updates) for more info.
**Atomic distributions** (sometimes also referred to as **immutable distributions**) are operating systems which handle package installation and updates by layering changes atop your core system image, rather than by directly modifying the system. Advantages of atomic distros include increased stability and the ability to easily roll back updates. See [*Traditional vs. Atomic Updates*](os/linux-overview.md#traditional-vs-atomic-updates) for more info.
### Fedora Atomic Desktops
@@ -90,15 +90,15 @@ A large portion of [Arch Linuxs packages](https://reproducible.archlinux.org)
</div>
The [Fedora Atomic Desktops](https://fedoramagazine.org/introducing-fedora-atomic-desktops) come in a variety of flavors depending on the desktop environment you prefer, such as **Fedora Silverblue** (which comes with [GNOME](https://gnome.org)), **Fedora Kinoite**, (which comes with [KDE](https://kde.org)), **Fedora Sway Atomic**, or **Fedora Budgie Atomic**. However, we don't recommend the last of these as the Budgie desktop environment [still requires X11](https://buddiesofbudgie.org/blog/wayland).
[Fedora Atomic Desktops](https://fedoramagazine.org/introducing-fedora-atomic-desktops) come in a variety of flavors depending on the desktop environment you prefer. As with the recommendation to avoid X11 in our [criteria](#criteria) for Linux distributions, we recommend avoiding flavors that support only the legacy X11 window system.
These operating systems differ from Fedora Workstation as they replace the [DNF](https://docs.fedoraproject.org/en-US/quick-docs/dnf) package manager with a much more advanced alternative called [`rpm-ostree`](https://docs.fedoraproject.org/en-US/fedora/latest/system-administrators-guide/package-management/rpm-ostree). The `rpm-ostree` package manager works by downloading a base image for the system, then overlaying packages over it in a [git](https://en.wikipedia.org/wiki/Git)-like commit tree. When the system is updated, a new base image is downloaded and the overlays will be applied to that new image.
After the update is complete you will reboot the system into the new deployment. `rpm-ostree` keeps two deployments of the system so that you can easily rollback if something breaks in the new deployment. There is also the option to pin more deployments as needed.
After the update is complete, you will reboot the system into the new deployment. `rpm-ostree` keeps two deployments of the system so that you can easily roll back if something breaks in the new deployment. There is also the option to pin more deployments as needed.
[Flatpak](https://flatpak.org) is the primary package installation method on these distributions, as `rpm-ostree` is only meant to overlay packages that cannot stay inside of a container on top of the base image.
As an alternative to Flatpaks, there is the option of [Toolbox](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox) to create [Podman](https://podman.io) containers with a shared home directory with the host operating system and mimic a traditional Fedora environment, which is a [useful feature](https://containertoolbx.org) for the discerning developer.
As an alternative to Flatpaks, there is the option of [Toolbx](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox) to create [Podman](https://podman.io) containers which mimic a traditional Fedora environment, a [useful feature](https://containertoolbx.org) for the discerning developer. These containers share a home directory with the host operating system.
### NixOS
@@ -118,13 +118,13 @@ NixOS is an independent distribution based on the Nix package manager with a foc
NixOSs package manager keeps every version of every package in a different folder in the **Nix store**. Due to this you can have different versions of the same package installed on your system. After the package contents have been written to the folder, the folder is made read-only.
NixOS also provides atomic updates; first it downloads (or builds) the packages and files for the new system generation and then switches to it. There are different ways to switch to a new generation; you can tell NixOS to activate it after reboot or you can switch to it at runtime. You can also *test* the new generation by switching to it at runtime, but not setting it as the current system generation. If something in the update process breaks, you can just reboot and automatically and return to a working version of your system.
NixOS also provides atomic updates. It first downloads (or builds) the packages and files for the new system generation and then switches to it. There are different ways to switch to a new generation: you can tell NixOS to activate it after reboot or you can switch to it at runtime. You can also *test* the new generation by switching to it at runtime, but not setting it as the current system generation. If something in the update process breaks, you can just reboot and automatically and return to a working version of your system.
Nix the package manager uses a purely functional language - which is also called Nix - to define packages.
The Nix package manager uses a purely functional languagewhich is also called Nixto define packages.
[Nixpkgs](https://github.com/nixos/nixpkgs) (the main source of packages) are contained in a single GitHub repository. You can also define your own packages in the same language and then easily include them in your config.
Nix is a source-based package manager; if theres no pre-built available in the binary cache, Nix will just build the package from source using its definition. It builds each package in a sandboxed *pure* environment, which is as independent of the host system as possible, thus making binaries reproducible.
Nix is a source-based package manager; if theres no pre-built available in the binary cache, Nix will just build the package from source using its definition. It builds each package in a sandboxed *pure* environment, which is as independent of the host system as possible. Binaries built with this method are reproducible, which can be useful as a safeguard against [:material-package-variant-closed-remove: Supply Chain Attacks](basics/common-threats.md#attacks-against-certain-organizations){ .pg-viridian }.
## Anonymity-Focused Distributions
@@ -147,7 +147,7 @@ Nix is a source-based package manager; if theres no pre-built available in th
Whonix is meant to run as two virtual machines: a “Workstation” and a Tor “Gateway.” All communications from the Workstation must go through the Tor gateway. This means that even if the Workstation is compromised by malware of some kind, the true IP address remains hidden.
Some of its features include Tor Stream Isolation, [keystroke anonymization](https://whonix.org/wiki/Keystroke_Deanonymization#Kloak), [encrypted swap](https://github.com/Whonix/swap-file-creator), and a hardened memory allocator. Future versions of Whonix will likely include [full system AppArmor policies](https://github.com/Whonix/apparmor-profile-everything) and a [sandbox app launcher](https://whonix.org/wiki/Sandbox-app-launcher) to fully confine all processes on the system.
Some of its features include Tor Stream Isolation, [keystroke anonymization](https://whonix.org/wiki/Keystroke_Deanonymization#Kloak), [encrypted swap](https://github.com/Whonix/swap-file-creator), and a hardened memory allocator. Future versions of Whonix will likely include [full system AppArmor policies](https://github.com/roddhjav/apparmor.d) and a [sandboxed app launcher](https://whonix.org/wiki/Sandbox-app-launcher) to fully confine all processes on the system.
Whonix is best used [in conjunction with Qubes](https://whonix.org/wiki/Qubes/Why_use_Qubes_over_other_Virtualizers). We have a [recommended guide](os/qubes-overview.md#connecting-to-tor-via-a-vpn) on configuring Whonix in conjunction with a VPN ProxyVM in Qubes to hide your Tor activities from your ISP.
@@ -174,7 +174,7 @@ Tails [doesn't erase](https://gitlab.tails.boum.org/tails/tails/-/issues/5356) t
</div>
Tails is great for counter forensics due to amnesia (meaning nothing is written to the disk); however, it is not a hardened distribution like Whonix. It lacks many anonymity and security features that Whonix has and gets updated much less often (only once every six weeks). A Tails system that is compromised by malware may potentially bypass the transparent proxy allowing for the user to be deanonymized.
Tails is great for counter forensics due to amnesia (meaning nothing is written to the disk); however, it is not a hardened distribution like Whonix. It lacks many anonymity and security features that Whonix has and gets updated much less often (only once every six weeks). A Tails system that is compromised by malware may potentially bypass the transparent proxy, allowing for the user to be deanonymized.
Tails includes [uBlock Origin](browser-extensions.md#ublock-origin) in Tor Browser by default, which may potentially make it easier for adversaries to fingerprint Tails users. [Whonix](desktop.md#whonix) virtual machines may be more leak-proof, however they are not amnesic, meaning data may be recovered from your storage device.
@@ -207,7 +207,7 @@ For further information about how Qubes works, read our full [Qubes OS overview]
### Kicksecure
While we [recommend against](os/linux-overview.md#release-cycle) "perpetually outdated" distributions like Debian for Desktop use in most cases, Kicksecure is a Debian-based operating system which has been hardened to be much more than a typical Linux install.
While we [recommend against](os/linux-overview.md#release-cycle) "perpetually outdated" distributions like Debian for desktop use in most cases, Kicksecure is a Debian-based operating system which has been hardened to be much more than a typical Linux install.
<div class="admonition recommendation" markdown>
@@ -231,8 +231,8 @@ Choosing a Linux distro that is right for you will come down to a huge variety o
- Free and open source.
- Receives regular software and kernel updates.
- [Avoids X11](os/linux-overview.md#wayland).
- The notable exception here is Qubes, but the isolation issues which X11 typically has are avoided by virtualization. This isolation only applies to apps *running in different qubes* (virtual machines), apps running in the *same* qube are not protected from each other.
- Avoids X11, as its last major release was [more than a decade](https://x.org/wiki/Releases) ago.
- The notable exception here is Qubes, but the [isolation issues](https://blog.invisiblethings.org/2011/04/23/linux-security-circus-on-gui-isolation) which X11 typically has are avoided by virtualization. This isolation only applies to apps *running in different qubes* (virtual machines); apps running in the *same* qube are not protected from each other.
- Supports full-disk encryption during installation.
- Doesn't freeze regular releases for more than 1 year.
- We [recommend against](os/linux-overview.md#release-cycle) "Long Term Support" or "stable" distro releases for desktop usage.

View File

@@ -99,8 +99,9 @@ Apple Mail has the ability to load remote content in the background or block it
<summary>Downloads</summary>
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=io.canarymail.android)
- [:simple-appstore: App Store](https://apps.apple.com/app/id1236045954)
- [:simple-appstore: App Store](https://apps.apple.com/app/id1155470386)
- [:fontawesome-brands-windows: Windows](https://canarymail.io/downloads.html)
- [:simple-apple: macOS](https://apps.apple.com/app/id1236045954)
</details>

View File

@@ -87,7 +87,7 @@ ffsend upload --host https://send.vis.ee/ FILE
<div class="admonition recommendation" markdown>
![Nextcloud logo](assets/img/productivity/nextcloud.svg){ align=right }
![Nextcloud logo](assets/img/document-collaboration/nextcloud.svg){ align=right }
**Nextcloud** is a suite of free and open-source client-server software for creating your own file hosting services on a private server you control.

View File

@@ -171,7 +171,7 @@ Established in 2021 due to the difficulty of finding unbiased reviewers in the V
As seen in **WIRED**, **Tweakers.net**, **The New York Times**, and many other publications as a reliable source for privacy and security knowledge.
[:material-information: More About Who We Are](about/index.md){ class="md-button md-button--primary" } [:material-email: Join our Newsletter](https://blog.privacyguides.org/#/portal/signup){ .md-button }
[:material-information: More About Who We Are](about.md){ class="md-button md-button--primary" } [:material-email: Join our Newsletter](https://blog.privacyguides.org/#/portal/signup){ .md-button }
<div class="grid" markdown>
<div markdown>

View File

@@ -24,14 +24,6 @@ Foobar was removed due to it having numerious security issues and being unmainta
You can actually add a `!` to *any* of the types on this page to denote particularly large changes, but this is generally where it will be most appropriate.
## Commit message with correction
We use `fix` for simple things like spelling mistakes or site related bugs. These things will usually have the `correction` or `bug` label on GitHub.
```text
fix: Correct spelling on XYZ page (#0000)
```
## Feature/enhancement
For new features or enhancements to the site, e.g. things that have the `enhancements` label on GitHub, it may be appropriate to signify these with:
@@ -42,10 +34,24 @@ feat: Add blah blah (#0000)
This change adds the forum topics to the main page
```
## Minor changes
Small changes that **don't affect the meaning** of the article, e.g. correcting a typo, fixing grammar, changing formatting/whitespace, CSS updates, etc.
```text
style: Typo correction in VPN overview
```
## Development-related types
These commit types are typically used for changes that won't be visible to the general audience.
We use `fix:` for changes that fix site related bugs. These things will usually have the `bug` label on GitHub.
```text
fix: Remove broken Invidious embeds (#0000)
```
We use `docs:` to denote changes to the developer documentation for this website, including (but not limited to) for example the README file, or most pages in `/docs/about` or `/docs/meta`:
```text
@@ -64,7 +70,7 @@ We use `ci:` for commits related to GitHub Actions, DevContainers, or other auto
ci: Update Netlify config (#0000)
```
We use `refactor:` for changes which neither fix a bug nor add a feature.
We use `refactor:` for changes which neither fix a bug nor add a feature, e.g. rearranging files, navigation order, etc.
```text
refactor: Move docs/assets to theme/assets

View File

@@ -19,7 +19,7 @@ There are some notable privacy concerns with Linux which you should be aware of.
### Open-Source Security
It is a [common misconception](../basics/common-misconceptions.md#open-source-software-is-always-secure-or-proprietary-software-is-more-secure) that Linux and other open-source software is inherently secure simply because the source code is available. There is an expectation that community verification occurs regularly, but this isnt always [the case](https://seirdy.one/posts/2022/02/02/floss-security).
It is a [common misconception](../basics/common-misconceptions.md#open-source-software-is-always-secure-or-proprietary-software-is-more-secure) that Linux and other open-source software are inherently secure simply because the source code is available. There is an expectation that community verification occurs regularly, but this isnt always [the case](https://seirdy.one/posts/2022/02/02/floss-security).
In reality, distro security depends on a number of factors, such as project activity, developer experience, the level of rigor applied to code reviews, and how often attention is given to specific parts of the codebase that may go untouched for years.
@@ -29,7 +29,7 @@ At the moment, desktop Linux [falls behind alternatives](https://discussion.fedo
- **Verified boot** on Linux is not as robust as alternatives such as Apples [Secure Boot](https://support.apple.com/guide/security/secac71d5623/web) or Androids [Verified Boot](https://source.android.com/security/verifiedboot). Verified boot prevents persistent tampering by malware and [evil maid attacks](https://en.wikipedia.org/wiki/Evil_Maid_attack), but is still largely [unavailable on even the most advanced distributions](https://discussion.fedoraproject.org/t/has-silverblue-achieved-verified-boot/27251/3).
- **Strong sandboxing** for apps on Linux is severely lacking, even with containerized apps like Flatpaks or sandboxing solutions like Firejail. Flatpak is the most promising sandboxing utility for Linux thus far, but is still deficient in many areas and allows for [unsafe defaults](https://flatkill.org/2020) which allow most apps to trivially bypass their sandbox.
- **Strong sandboxing** for apps on Linux is severely lacking, even with containerized apps like Flatpaks or sandboxing solutions like Firejail. Flatpak is the most promising sandboxing utility for Linux thus far, but is still deficient in many areas and allows for [unsafe defaults](https://flatkill.org/2020) which permit most apps to trivially bypass their sandbox.
Additionally, Linux falls behind in implementing [exploit mitigations](https://madaidans-insecurities.github.io/linux.html#exploit-mitigations) which are now standard on other operating systems, such as Arbitrary Code Guard on Windows or Hardened Runtime on macOS. Also, most Linux programs and Linux itself are coded in memory-unsafe languages. Memory corruption bugs are responsible for the [majority of vulnerabilities](https://msrc.microsoft.com/blog/2019/07/a-proactive-approach-to-more-secure-code) fixed and assigned a CVE. While this is also true for Windows and macOS, they are quickly making progress on adopting memory-safe languages—such as Rust and Swift, respectively—while there is no similar effort to rewrite Linux in a memory-safe language like Rust.
@@ -41,27 +41,21 @@ Not all Linux distributions are created equal. Our [Linux recommendation page](.
We highly recommend that you choose distributions which stay close to the stable upstream software releases, often referred to as rolling release distributions. This is because frozen release cycle distributions often dont update package versions and fall behind on security updates.
For frozen distributions such as [Debian](https://debian.org/security/faq#handling), package maintainers are expected to backport patches to fix vulnerabilities rather than bump the software to the “next version” released by the upstream developer. Some security fixes [do not](https://arxiv.org/abs/2105.14565) receive a [CVE ID](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures) (particularly less popular software) at all and therefore do not make it into the distribution with this patching model. As a result, minor security fixes are sometimes held back until the next major release.
For frozen distributions such as [Debian](https://debian.org/security/faq#handling), package maintainers are expected to backport patches to fix vulnerabilities rather than bump the software to the “next version” released by the upstream developer. Some security fixes (particularly for less popular software) [do not](https://arxiv.org/abs/2105.14565) receive a [CVE ID](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures) at all and therefore do not make it into the distribution with this patching model. As a result, minor security fixes are sometimes held back until the next major release.
We dont believe holding packages back and applying interim patches is a good idea, as it diverges from the way the developer might have intended the software to work. [Richard Brown](https://rootco.de/aboutme) has a presentation about this:
<div class="yt-embed">
<iframe width="560" height="315" src="https://invidious.privacyguides.net/embed/i8c0mg_mS7U?local=true" title="Regular Releases are Wrong, Roll for your life" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
- [Regular Releases are Wrong, Roll for your life](https://youtu.be/i8c0mg_mS7U) <small>(YouTube)</small>
### Traditional vs Atomic updates
### Traditional vs Atomic Updates
Traditionally, Linux distributions update by sequentially updating the desired packages. Traditional updates such as those used in Fedora, Arch Linux, and Debian based distributions can be less reliable if an error occurs while updating.
Traditionally, Linux distributions update by sequentially updating the desired packages. Traditional updates such as those used in Fedora, Arch Linux, and Debian-based distributions can be less reliable if an error occurs while updating.
Atomic updating distributions apply updates in full or not at all. Typically, transactional update systems are also atomic.
Atomic updating distributions, on the other hand, apply updates in full or not at all. On an atomic distribution, if an error occurs while updating (perhaps due to a power failure), nothing is changed on the system.
A transactional update system creates a snapshot that is made before and after an update is applied. If an update fails at any time (perhaps due to a power failure), the update can be easily rolled back to a “last known good state."
The atomic update method can achieve reliability with this model and is used for [distributions](../desktop.md#atomic-distributions) like Silverblue and NixOS. [Adam Šamalík](https://twitter.com/adsamalik) provides a presentation on how `rpm-ostree` works with Silverblue:
The Atomic update method is used for [distributions](../desktop.md#atomic-distributions) like Silverblue, Tumbleweed, and NixOS and can achieve reliability with this model. [Adam Šamalík](https://twitter.com/adsamalik) provided a presentation on how `rpm-ostree` works with Silverblue:
<div class="yt-embed">
<iframe width="560" height="315" src="https://invidious.privacyguides.net/embed/-hpV5l-gJnQ?local=true" title="Let's try Fedora Silverblue — an immutable desktop OS! - Adam Šamalik" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
- [Let's try Fedora Silverblue — an immutable desktop OS! - Adam Šamalik](https://youtu.be/aMo4ZlWznao) <small>(YouTube)</small>
### “Security-focused” distributions
@@ -69,13 +63,13 @@ There is often some confusion between “security-focused” distributions and
### Arch-based distributions
Arch and Arch-based distributions are not recommended for those new to Linux (regardless of distribution) as they require regular [system maintenance](https://wiki.archlinux.org/title/System_maintenance). Arch does not have a distribution update mechanism for the underlying software choices. As a result you have to stay aware with current trends and adopt technologies as they supersede older practices on your own.
Arch and Arch-based distributions are not recommended for those new to Linux (regardless of distribution) as they require regular [system maintenance](https://wiki.archlinux.org/title/System_maintenance). Arch does not have a distribution update mechanism for the underlying software choices. As a result you have to stay aware with current trends and adopt technologies on your own as they supersede older practices.
For a secure system, you are also expected to have sufficient Linux knowledge to properly set up security for their system such as adopting a [mandatory access control](https://en.wikipedia.org/wiki/Mandatory_access_control) system, setting up [kernel module](https://en.wikipedia.org/wiki/Loadable_kernel_module#Security) blacklists, hardening boot parameters, manipulating [sysctl](https://en.wikipedia.org/wiki/Sysctl) parameters, and knowing what components they need such as [Polkit](https://en.wikipedia.org/wiki/Polkit).
For a secure system, you are also expected to have sufficient Linux knowledge to properly set up security for their system such as adopting a [mandatory access control](#mandatory-access-control) system, setting up [kernel module](https://en.wikipedia.org/wiki/Loadable_kernel_module#Security) blacklists, hardening boot parameters, manipulating [sysctl](https://en.wikipedia.org/wiki/Sysctl) parameters, and knowing what components they need such as [Polkit](https://en.wikipedia.org/wiki/Polkit).
Anyone using the [Arch User Repository (AUR)](https://wiki.archlinux.org/title/Arch_User_Repository) **must** be comfortable auditing PKGBUILDs that they download from that service. AUR packages are community-produced content and are not vetted in any way, and therefore are vulnerable to software supply chain attacks, which has in fact happened [in the past](https://bleepingcomputer.com/news/security/malware-found-in-arch-linux-aur-package-repository).
Anyone using the [Arch User Repository (AUR)](https://wiki.archlinux.org/title/Arch_User_Repository) **must** be comfortable auditing PKGBUILDs that they download from that service. AUR packages are community-produced content and are not vetted in any way, and therefore are vulnerable to software [:material-package-variant-closed-remove: Supply Chain Attacks](../basics/common-threats.md#attacks-against-certain-organizations){ .pg-viridian }, which has in fact happened [in the past](https://bleepingcomputer.com/news/security/malware-found-in-arch-linux-aur-package-repository).
The AUR should always be used sparingly, and often there is a lot of bad advice on various pages which direct people to blindly use [AUR helpers](https://wiki.archlinux.org/title/AUR_helpers) without sufficient warning. Similar warnings apply to use third-party Personal Package Archives (PPAs) on Debian based distributions or Community Projects (COPR) on Fedora.
The AUR should always be used sparingly, and often there is a lot of bad advice on various pages which direct people to blindly use [AUR helpers](https://wiki.archlinux.org/title/AUR_helpers) without sufficient warning. Similar warnings apply to the use of third-party Personal Package Archives (PPAs) on Debian-based distributions or Community Projects (COPR) on Fedora.
If you are experienced with Linux and wish to use an Arch-based distribution, we generally recommend mainline Arch Linux over any of its derivatives.
@@ -88,6 +82,12 @@ Additionally, we recommend **against** these two Arch derivatives specifically:
We recommend **against** using the Linux-libre kernel, since it [removes security mitigations](https://phoronix.com/news/GNU-Linux-Libre-5.7-Released) and [suppresses kernel warnings](https://news.ycombinator.com/item?id=29674846) about vulnerable microcode.
### Mandatory access control
Mandatory access control is a set of additional security controls which help to confine parts of the system such as apps and system services. The two common forms of mandatory access control found in Linux distributions are [SELinux](https://github.com/SELinuxProject) and [AppArmor](https://apparmor.net). While Fedora uses SELinux by default, Tumbleweed [defaults](https://en.opensuse.org/Portal:SELinux) to AppArmor in the installer, with an option to [choose](https://en.opensuse.org/Portal:SELinux/Setup) SELinux instead.
SELinux on [Fedora](https://docs.fedoraproject.org/en-US/quick-docs/selinux-getting-started) confines Linux containers, virtual machines, and service daemons by default. AppArmor is used by the snap daemon for [sandboxing](https://snapcraft.io/docs/security-sandboxing) snaps which have [strict](https://snapcraft.io/docs/snap-confinement) confinement such as [Firefox](https://snapcraft.io/firefox). There is a community effort to confine more parts of the system in Fedora with the [ConfinedUsers](https://fedoraproject.org/wiki/SIGs/ConfinedUsers) special interest group.
## General Recommendations
### Drive Encryption
@@ -102,19 +102,11 @@ Consider using [ZRAM](https://wiki.archlinux.org/title/Zram#Using_zram-generator
If you require suspend-to-disk (hibernation) functionality, you will still need to use a traditional swap file or partition. Make sure that any swap space you do have on a persistent storage device is [encrypted](https://wiki.archlinux.org/title/Dm-crypt/Swap_encryption) at a minimum to mitigate some of these threats.
### Wayland
We recommend using a desktop environment that supports the [Wayland](https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)) display protocol, as it was developed with security [in mind](https://lwn.net/Articles/589147). Its predecessor ([X11](https://en.wikipedia.org/wiki/X_Window_System)) does not support GUI isolation, which allows any window to [record, log, and inject inputs in other windows](https://blog.invisiblethings.org/2011/04/23/linux-security-circus-on-gui-isolation.html), making any attempt at sandboxing futile. While there are options to do nested X11 such as [Xpra](https://en.wikipedia.org/wiki/Xpra) or [Xephyr](https://en.wikipedia.org/wiki/Xephyr), they often come with negative performance consequences, and are neither convenient to set up nor preferable over Wayland.
Fortunately, [Wayland compositors](https://en.wikipedia.org/wiki/Wayland_(protocol)#Wayland_compositors) such as those included with [GNOME](https://gnome.org) and [KDE Plasma](https://kde.org) now have good support for Wayland along with some other compositors that use [wlroots](https://gitlab.freedesktop.org/wlroots/wlroots/-/wikis/Projects-which-use-wlroots), (e.g. [Sway](https://swaywm.org)). Some distributions like Fedora and Tumbleweed use it by default, and some others may do so in the future as X11 is in [hard maintenance mode](https://phoronix.com/news/X.Org-Maintenance-Mode-Quickly). If youre using one of those environments it is as easy as selecting the “Wayland” session at the desktop display manager ([GDM](https://en.wikipedia.org/wiki/GNOME_Display_Manager), [SDDM](https://en.wikipedia.org/wiki/Simple_Desktop_Display_Manager)).
We recommend **against** using desktop environments or window managers that do not have Wayland support, such as Cinnamon (default on Linux Mint), Pantheon (default on Elementary OS), MATE, Xfce, and i3.
### Proprietary Firmware (Microcode Updates)
Some Linux distributions (such as [Linux-libre](https://en.wikipedia.org/wiki/Linux-libre)-based or DIY distros) dont come with the proprietary [microcode](https://en.wikipedia.org/wiki/Microcode) updates which patch critical security vulnerabilities. Some notable examples of these vulnerabilities include [Spectre](https://en.wikipedia.org/wiki/Spectre_(security_vulnerability)), [Meltdown](https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)), [SSB](https://en.wikipedia.org/wiki/Speculative_Store_Bypass), [Foreshadow](https://en.wikipedia.org/wiki/Foreshadow), [MDS](https://en.wikipedia.org/wiki/Microarchitectural_Data_Sampling), [SWAPGS](https://en.wikipedia.org/wiki/SWAPGS_(security_vulnerability)), and other [hardware vulnerabilities](https://kernel.org/doc/html/latest/admin-guide/hw-vuln/index.html).
We **highly recommend** that you install microcode updates, as they contain important security patches for the CPU which can not be fully mitigated in software alone. Fedora and openSUSE both have the microcode updates applied by default.
We **highly recommend** that you install microcode updates, as they contain important security patches for the CPU which can not be fully mitigated in software alone. Fedora and openSUSE both apply microcode updates by default.
### Updates
@@ -124,6 +116,22 @@ Some distributions (particularly those aimed at advanced users) are more bare bo
Additionally, some distributions will not download firmware updates automatically. For that, you will need to install [`fwupd`](https://wiki.archlinux.org/title/Fwupd).
### Permission Controls
Desktop environments (DEs) that support the [Wayland](https://wayland.freedesktop.org) display protocol are [more secure](https://lwn.net/Articles/589147) than those that only support X11. However, not all DEs take full advantage of Wayland's architectural security improvements.
For example, GNOME has a notable edge in security compared to other DEs by implementing permission controls for third-party software that tries to [capture your screen](https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3943). That is, when a third-party application attempts to capture your screen, you are prompted for your permission to share your screen with the app.
<figure markdown>
![Screenshot permissions](../assets/img/linux/screenshot_permission.png){ width="450" }
<figcaption>GNOME's screenshot permission dialog</figcaption>
</figure>
Many alternatives don't provide these same permission controls yet,[^1] while some are waiting for Wayland to implement these controls upstream.[^2]
[^1]: KDE currently has an open proposal to add controls for screen captures: <https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/issues/7>
[^2]: Sway is waiting to add specific security controls until they "know how security as a whole is going to play out" in Wayland: <https://github.com/swaywm/sway/issues/5118#issuecomment-600054496>
## Privacy Tweaks
### MAC Address Randomization

View File

@@ -25,7 +25,7 @@ This section is a work in progress, because it takes considerably more time and
## Privacy Notes
Microsoft Windows, particularly those versions aimed at consumers like the **Home** version often don't prioritize privacy friendly features by [default](https://theguardian.com/technology/2015/jul/31/windows-10-microsoft-faces-criticism-over-privacy-default-settings). As a result we often see more [data collection](https://en.wikipedia.org/wiki/Criticism_of_Microsoft#Telemetry_and_data_collection) than necessary, without any real warnings that this is the default behavior. In an attempt to compete with Google in the advertising space, [Cortana](https://en.wikipedia.org/wiki/Cortana_(virtual_assistant)) has included unique identifiers such as an "advertising ID" in order to correlate usage and assist advertisers in targeted advertising. At launch, telemetry could not be disabled in non-enterprise editions of Windows 10. It still cannot be disabled, but Microsoft added the ability to [reduce](https://www.extremetech.com/computing/243079-upcoming-windows-update-reduces-spying-microsoft-still-mum-data-collects) the data that is sent to them.
Microsoft Windows, particularly those versions aimed at consumers like the **Home** version often don't prioritize privacy friendly features by [default](https://theguardian.com/technology/2015/jul/31/windows-10-microsoft-faces-criticism-over-privacy-default-settings). As a result we often see more [data collection](https://en.wikipedia.org/wiki/Criticism_of_Microsoft#Telemetry_and_data_collection) than necessary, without any real warnings that this is the default behavior. In an attempt to compete with Google in the advertising space, [Cortana](https://en.wikipedia.org/wiki/Cortana_(virtual_assistant)) has included unique identifiers such as an "advertising ID" in order to correlate usage and assist advertisers in targeted advertising. At launch, telemetry could not be disabled in non-enterprise editions of Windows 10. It still cannot be disabled, but Microsoft added the ability to [reduce](https://extremetech.com/computing/243079-upcoming-windows-update-reduces-spying-microsoft-still-mum-data-collects) the data that is sent to them.
With Windows 11 there are a number of restrictions or defaults such as:

View File

@@ -30,9 +30,9 @@ Our recommended providers use encryption, support WireGuard & OpenVPN, and have
| Provider | Countries | WireGuard | Port Forwarding | IPv6 | Anonymous Payments
|---|---|---|---|---|---
| [Proton](#proton-vpn) | 91+ | :material-check:{ .pg-green } | :material-information-outline:{ .pg-blue } Partial Support | :material-alert-outline:{ .pg-orange } | Cash
| [Proton](#proton-vpn) | 112+ | :material-check:{ .pg-green } | :material-information-outline:{ .pg-blue } Partial Support | :material-alert-outline:{ .pg-orange } | Cash
| [IVPN](#ivpn) | 37+ | :material-check:{ .pg-green } | :material-alert-outline:{ .pg-orange } | :material-information-outline:{ .pg-blue } Outgoing Only | Monero, Cash
| [Mullvad](#mullvad) | 41+ | :material-check:{ .pg-green } | :material-alert-outline:{ .pg-orange } | :material-check:{ .pg-green } | Monero, Cash
| [Mullvad](#mullvad) | 45+ | :material-check:{ .pg-green } | :material-alert-outline:{ .pg-orange } | :material-check:{ .pg-green } | Monero, Cash
### Proton VPN
@@ -60,12 +60,12 @@ Our recommended providers use encryption, support WireGuard & OpenVPN, and have
</div>
#### :material-check:{ .pg-green } 91 Countries
#### :material-check:{ .pg-green } 112 Countries
Proton VPN has [servers in 91 countries](https://protonvpn.com/vpn-servers) or [5](https://protonvpn.com/support/how-to-create-free-vpn-account) if you use their [free plan](https://protonvpn.com/free-vpn/server).(1) Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (fewer hops) to the destination.
Proton VPN has [servers in 112 countries](https://protonvpn.com/vpn-servers) or [5](https://protonvpn.com/support/how-to-create-free-vpn-account) if you use their [free plan](https://protonvpn.com/free-vpn/server).(1) Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (fewer hops) to the destination.
{ .annotate }
1. Last checked: 2024-04-02
1. Last checked: 2024-08-06
We also think it's better for the security of the VPN provider's private keys if they use [dedicated servers](https://en.wikipedia.org/wiki/Dedicated_hosting_service), instead of cheaper shared solutions (with other customers) such as [virtual private servers](https://en.wikipedia.org/wiki/Virtual_private_server).
@@ -145,7 +145,7 @@ System crashes [may occur](https://protonvpn.com/support/macos-t2-chip-kill-swit
IVPN has [servers in 37 countries](https://ivpn.net/status).(1) Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (fewer hops) to the destination.
{ .annotate }
1. Last checked: 2024-04-02
1. Last checked: 2024-08-06
We also think it's better for the security of the VPN provider's private keys if they use [dedicated servers](https://en.wikipedia.org/wiki/Dedicated_hosting_service), instead of cheaper shared solutions (with other customers) such as [virtual private servers](https://en.wikipedia.org/wiki/Virtual_private_server).
@@ -193,7 +193,7 @@ IVPN clients support two factor authentication. IVPN also provides "[AntiTracker
![Mullvad logo](assets/img/vpn/mullvad.svg){ align=right }
**Mullvad** is a fast and inexpensive VPN with a serious focus on transparency and security. They have been in operation since **2009**. Mullvad is based in Sweden and does not offer a free trial.
**Mullvad** is a fast and inexpensive VPN with a serious focus on transparency and security. They have been in operation since 2009. Mullvad is based in Sweden and does not offer a free trial.
[:octicons-home-16: Homepage](https://mullvad.net){ .md-button .md-button--primary }
[:simple-torbrowser:](http://o54hon2e2vj6c7m3aqqu6uyece65by3vgoxxhlqlsvkmacw6a7m7kiad.onion){ .card-link title="Onion Service" }
@@ -215,12 +215,12 @@ IVPN clients support two factor authentication. IVPN also provides "[AntiTracker
</div>
#### :material-check:{ .pg-green } 41 Countries
#### :material-check:{ .pg-green } 45 Countries
Mullvad has [servers in 41 countries](https://mullvad.net/servers).(1) Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (fewer hops) to the destination.
Mullvad has [servers in 45 countries](https://mullvad.net/servers).(1) Picking a VPN provider with a server nearest to you will reduce latency of the network traffic you send. This is because of a shorter route (fewer hops) to the destination.
{ .annotate }
1. Last checked: 2024-04-02
1. Last checked: 2024-08-06
We also think it's better for the security of the VPN provider's private keys if they use [dedicated servers](https://en.wikipedia.org/wiki/Dedicated_hosting_service), instead of cheaper shared solutions (with other customers) such as [virtual private servers](https://en.wikipedia.org/wiki/Virtual_private_server).

View File

@@ -282,7 +282,7 @@ theme:
- search.highlight
extra_css:
- assets/stylesheets/extra.css?v=20240801
- assets/stylesheets/extra.css?v=20240802
extra_javascript:
- assets/javascripts/randomize-element.js?v=20240801
- assets/javascripts/feedback.js?v=20240801
@@ -445,6 +445,13 @@ nav:
- "about/criteria.md"
- "about/notices.md"
- "about/privacy-policy.md"
- "about/volunteer.md"
- !ENV [NAV_HANDBOOK, "Handbook"]:
- "about/handbook/intro.md"
- "about/handbook/guidelines.md"
- "about/handbook/community.md"
- "about/handbook/reviews.md"
- "about/handbook/resources.md"
- !ENV [NAV_COMMUNITY, "Community"]:
- !ENV [NAV_ONLINE_SERVICES, "Online Services"]: "about/services.md"
- !ENV [NAV_CODE_OF_CONDUCT, "Code of Conduct"]: "CODE_OF_CONDUCT.md"

1
run.sh
View File

@@ -131,6 +131,7 @@ markdown_extensions:
exclude:
- index.md
- tools.md
- about/handbook/*
targets:
exclude:
- about/contributors.md

View File

@@ -283,32 +283,31 @@ details[class="downloads annotate"] > p .md-annotation span span::before {
/* Badge colors */
.pg-purple {
color: var(--pg-purple);
color: var(--pg-purple)!important;
}
.pg-red {
color: var(--pg-red);
color: var(--pg-red)!important;
}
.pg-orange {
color: var(--pg-orange);
color: var(--pg-orange)!important;
}
.pg-teal {
color: var(--pg-teal);
color: var(--pg-teal)!important;
}
.pg-brown {
color: var(--pg-brown);
color: var(--pg-brown)!important;
}
.pg-blue {
color: var(--pg-blue);
color: var(--pg-blue)!important;
}
.pg-green {
color: var(--pg-green);
color: var(--pg-green)!important;
}
.pg-blue-gray {
color: var(--pg-blue-gray);
color: var(--pg-blue-gray)!important;
}
.pg-viridian {
color: var(--pg-viridian);
color: var(--pg-viridian)!important;
}
/* Make header icons smaller */