Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed extra space in / string. #592

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
2 changes: 1 addition & 1 deletion static/articles/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ <h1><a href="#articles">Articles</a></h1>
<li><a href="/articles/attestation-compatibility-guide">Attestation compatibility guide</a> — Guide on using remote attestation in a way that's compatible with GrapheneOS</li>
<li><a href="/articles/grapheneos-servers">GrapheneOS servers</a> — Documentation on GrapheneOS servers.</li>
<li><a href="/articles/server-traffic-shaping">Server traffic shaping</a> — Implementing server traffic shaping on Linux with CAKE.</li>
<li><a href="/articles/sitewide-advertising-industry-opt-out">Sitewide advertising industry opt-out</a> — Using ads.txt / app-ads.txt to disallow buying or selling ads for a domain.</li>
<li><a href="/articles/sitewide-advertising-industry-opt-out">Sitewide advertising industry opt-out</a> — Using ads.txt/app-ads.txt to disallow buying or selling ads for a domain.</li>
</ul>
</main>
<footer>
Expand Down
2 changes: 1 addition & 1 deletion static/articles/server-traffic-shaping.html
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ <h2><a href="#quicker-backpressure-propagation">Quicker backpressure propagation

<p>If you decide to use <code>tcp_notsent_lowat</code>, be aware that newer Linux
kernels (Linux 5.0+ with a further improvement for Linux 5.10+) are recommended to
substantially reduce system calls / context switches by not triggering the
substantially reduce system calls/context switches by not triggering the
application to provide more data until over half the unsent byte buffer is
empty.</p>
</section>
Expand Down
4 changes: 2 additions & 2 deletions static/articles/sitewide-advertising-industry-opt-out.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ <h1><a href="#sitewide-advertising-industry-opt-out">Sitewide advertising indust
<pre>placeholder.example.com, placeholder, DIRECT, placeholder</pre>

<p>The placeholder record formally disallows buying and selling ads on behalf of the
domain including for any subdomains. This prevents fradulently buying / selling ads
for your domain anywhere that ads.txt / app-ads.txt are enforced.</p>
domain including for any subdomains. This prevents fradulently buying/selling ads
for your domain anywhere that ads.txt/app-ads.txt are enforced.</p>

<p>It's in the interest of most ad tech companies to enforce these standards due to
losses from ad fraud so adoption is increasingly widespread.</p>
Expand Down
20 changes: 10 additions & 10 deletions static/build.html
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,9 @@ <h3><a href="#build-targets">Build targets</a></h3>

<p>These are all fully supported production-ready targets supporting all the
baseline security features and receiving full monthly security updates
covering all firmware, kernel drivers, driver libraries / services and other
covering all firmware, kernel drivers, driver libraries/services and other
device-specific code. A fully signed user build for these devices is a proper
GrapheneOS release. Newer generation devices have stronger hardware / firmware
GrapheneOS release. Newer generation devices have stronger hardware/firmware
security and hardware-based OS security features and are better development
devices for that reason. It's not possible to work on everything via past
generation devices. The best development devices are the Pixel 6 and 7 series.
Expand Down Expand Up @@ -204,8 +204,8 @@ <h3><a href="#build-targets">Build targets</a></h3>
an up-to-date kernel and device support code including driver libraries, firmware and
device SELinux policy extensions. Other than some special cases like the emulator, the
generic targets rely on the device support code present on the device. Shipping all of
this is necessary for full security updates and is tied to enabling verified boot /
attestation. Pixel targets have a lot of device-specific hardening in the AOSP base
this is necessary for full security updates and is tied to enabling verified boot/attestation.
Pixel targets have a lot of device-specific hardening in the AOSP base
along with some in GrapheneOS which needs to be ported over too. For example, various
security features in the kernel including type-based Control Flow Integrity (CFI) and
the shadow call stack are currently specific to the kernels for these devices.</p>
Expand Down Expand Up @@ -326,7 +326,7 @@ <h4><a href="#development-branch">Development branch</a></h4>
officially supported devices.</p>

<p>The <code>13</code> branch is used for 4th, 5th, 6th and 7th generation
Pixels, generic / emulator targets and non-Pixel devices:</p>
Pixels, generic/emulator targets and non-Pixel devices:</p>

<pre>mkdir grapheneos-13
cd grapheneos-13
Expand All @@ -345,7 +345,7 @@ <h4><a href="#stable-release">Stable release</a></h4>
and download the source tree. Note that some devices use different Android Open Source
Project branches so they can end up with different tags. Make sure to use the correct
tag for a device. For devices without official support, use the latest tag marked as
being appropriate for generic / other devices in the release notes.</p>
being appropriate for generic/other devices in the release notes.</p>

<pre>mkdir grapheneos-<var>TAG_NAME</var>
cd grapheneos-<var>TAG_NAME</var>
Expand Down Expand Up @@ -1140,7 +1140,7 @@ <h4><a href="#compatibility-test-suite-setup">Setup</a></h4>
<li>Disable SIM lock</li>
<li>Enable Bluetooth</li>
<li>Enable NFC</li>
<li>Open / close Chromium to deal with initial setup</li>
<li>Open/close Chromium to deal with initial setup</li>
<li>Prop up with a good object to focus on and good lighting for Camera tests.
Both the front and rear cameras will be used, so ensure this is true for both the
front and the rear cameras.</li>
Expand Down Expand Up @@ -1181,7 +1181,7 @@ <h2><a href="#obtaining-upstream-manifests">Obtaining upstream manifests</a></h2
different components. There are tags and/or branches for the OS, device kernels,
mainline components (APEX), the NDK, Android Studio, the platform-tools distribution
packages, the CTS, androidx components, etc. You should obtain the sources via
manifests using the repo tool, either using the manifest for a tag / branch in
manifests using the repo tool, either using the manifest for a tag/branch in
platform/manifest.git or a manifest provided elsewhere. Different projects use
different subsets of the repositories. Many of the repositories only exist as an
archive for older releases and aren't referenced in current manifests.</p>
Expand Down Expand Up @@ -1271,8 +1271,8 @@ <h3><a href="#code-style">Code style</a></h3>
<code>variable_name</code>, <code>TypeName</code> and <code>CONSTANT_NAME</code>.
Prefer single-line comment syntax other than rare cases where it makes sense to add a
tiny comment within a line of code. In languages with the optional braces misfeature
(C, C++, Java), always use them. Open braces on the same line as function definitions
/ statements. Wrap lines at 100 columns except in rare cases where it would be far
(C, C++, Java), always use them. Open braces on the same line as function definitions/statements.
Wrap lines at 100 columns except in rare cases where it would be far
uglier to wrap the line.</p>

<p>For JavaScript, all code should be contained within ES6 modules. This means every
Expand Down
6 changes: 3 additions & 3 deletions static/contact.html
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,8 @@ <h2><a href="#contacting-the-project">Contacting the project</a></h2>

<p>Do not contact us with offers to sell us products or services.</p>

<p>Please don't contact the GrapheneOS project or developers to request support /
device support / features or to report bugs. Use the <a href="#community">community
<p>Please don't contact the GrapheneOS project or developers to request support/device support/features
or to report bugs. Use the <a href="#community">community
platforms</a> and <a href="#reporting-issues">issue trackers</a> listed below. The
developers are active on the Matrix room but the broader community can usually
answer most questions, and this allows the developers to focus their time and
Expand All @@ -149,7 +149,7 @@ <h2><a href="#contacting-the-project">Contacting the project</a></h2>
a message to be read, only as a regular notification that is likely to be missed or
forgotten.</p>

<p>Please do not send multiple copies / versions of the same email to different
<p>Please do not send multiple copies/versions of the same email to different
addresses. Either send it to a single address or CC the other addresses. In general,
it's the same person handling every email address, and they don't need to see multiple
copies of the same email in their inbox.</p>
Expand Down
32 changes: 16 additions & 16 deletions static/faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -264,8 +264,8 @@ <h3><a href="#future-devices">Which devices will be supported in the future?</a>
standard hardware-based security features like the hardware-backed keystores, verified
boot, attestation and various hardware-based exploit mitigations need to be available.
Devices also need to have decent integration of IOMMUs for isolating components such
as the GPU, radios (NFC, Wi-Fi, Bluetooth, Cellular), media decode / encode, image
processor, etc., because if the hardware / firmware support is missing or broken,
as the GPU, radios (NFC, Wi-Fi, Bluetooth, Cellular), media decode/encode, image
processor, etc., because if the hardware/firmware support is missing or broken,
there's not much that the OS can do to provide an alternative. Devices with support for
alternative operating systems as an afterthought will not be considered. Devices need
to have proper ongoing support for their firmware and software specific to the hardware
Expand Down Expand Up @@ -477,7 +477,7 @@ <h3><a href="#encryption">How is disk encryption implemented?</a></h3>
with metadata encryption. All data, file names and other metadata is always
stored encrypted. This is often referred to as file-based encryption but it
makes more sense to call it filesystem-based encryption. It's implemented by
the Linux kernel as part of the ext4 / f2fs implementation rather than running
the Linux kernel as part of the ext4/f2fs implementation rather than running
a block-based encryption layer. The advantage of filesystem-based encryption
is the ability to use fine-grained keys rather than a single global key that's
always in memory once the device is booted.</p>
Expand Down Expand Up @@ -702,7 +702,7 @@ <h3><a href="#cellular-tracking">What does GrapheneOS do about cellular tracking
GrapheneOS also avoids trust in the cellular network in other ways including providing
a secure network time update implementation rather than trusting the cellular network
for this. Time is sensitive and can be used to bypass security checks depending on
certificate / key expiry.</p>
certificate/key expiry.</p>

<p>Cellular networks use inherently insecure protocols and have many trusted parties.
Even if interception of the connection or some other man-in-the-middle attack along
Expand All @@ -716,9 +716,9 @@ <h3><a href="#cellular-tracking">What does GrapheneOS do about cellular tracking
recommend apps taking a decent approach in this area.</p>

<p>Legacy calls and texts should be avoided as they're not secure and trust the
carrier / network along with having weak security against other parties. Trying to
carrier/network along with having weak security against other parties. Trying to
detect some forms of interception rather than dealing with the root of the problem
(unencrypted communications / data transfer) would be foolish and doomed to
(unencrypted communications/data transfer) would be foolish and doomed to
failure.</p>

<p>GrapheneOS does not add gimmicks without a proper threat model and
Expand Down Expand Up @@ -768,8 +768,8 @@ <h3><a href="#wifi-privacy">How private is Wi-Fi?</a></h3>
<h3><a href="#default-connections">What kind of connections do the OS and bundled apps make by default?</a></h3>

<p>GrapheneOS makes connections to the outside world to test connectivity, detect
captive portals and download updates. No data varying per user / installation / device
is sent in these connections. There aren't analytics / telemetry in GrapheneOS.</p>
captive portals and download updates. No data varying per user/installation/device
is sent in these connections. There aren't analytics/telemetry in GrapheneOS.</p>

<p>The expected default connections by GrapheneOS (including all base system apps) are
the following:</p>
Expand All @@ -783,7 +783,7 @@ <h3><a href="#default-connections">What kind of connections do the OS and bundle
https://releases.grapheneos.org/DEVICE-incremental-OLD_VERSION-NEW_VERSION.zip
for a delta update, and then falls back to
https://releases.grapheneos.org/DEVICE-ota_update-NEW_VERSION.zip.</p>
<p>No query / data is sent to the server, so the only information leaked to it
<p>No query/data is sent to the server, so the only information leaked to it
are the variables in these 3 URLs (device, channel, current version) which is
necessary to obtain the update.</p>
<p>Users are in control of which types of networks the Updater app will use
Expand Down Expand Up @@ -811,7 +811,7 @@ <h3><a href="#default-connections">What kind of connections do the OS and bundle
standard network time update implementation, which uses the cellular network
when available with a fallback to SNTP when it's not available. Network time
updates are security sensitive since certificate validation depends on having
an accurate time, but the standard NTP / SNTP protocols used across most OSes
an accurate time, but the standard NTP/SNTP protocols used across most OSes
have no authentication.</p>

<p>We plan to offer a toggle to use the standard functionality instead of
Expand Down Expand Up @@ -885,7 +885,7 @@ <h3><a href="#default-connections">What kind of connections do the OS and bundle

<pre>Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36</pre>

<p>No query / data is sent to the servers and the response is unused beyond
<p>No query/data is sent to the servers and the response is unused beyond
checking the response code.</p>

<p>Connectivity checks are performed for each network connection and
Expand Down Expand Up @@ -991,7 +991,7 @@ <h3><a href="#default-connections">What kind of connections do the OS and bundle
</li>
<li>
<p>DNS resolution for other connections involving connections to the
network / user provided DNS resolvers</p>
network/user provided DNS resolvers</p>
</li>
</ul>

Expand Down Expand Up @@ -1265,7 +1265,7 @@ <h3><a href="#ad-blocking">How can I set up system-wide ad-blocking?</a></h3>
<p>Apps and web sites can detect that ad-blocking is being used and can
determine what's being blocked. This can be used as part of fingerprinting
users. Using a widely used service like AdGuard with a standard block list is
much less of an issue than a custom set of subscriptions / rules, but it still
much less of an issue than a custom set of subscriptions/rules, but it still
stands out compared to the default of not doing it.</p>
</article>

Expand Down Expand Up @@ -1414,15 +1414,15 @@ <h3><a href="#notifications">Do notifications work properly on GrapheneOS?</a></
<h3><a href="#file-transfer">How do I transfer files to another device?</a></h3>

<p>Files can be transferred to another device using an external drive, USB
file transfer via MTP / PTP or an app-based mechanism.</p>
file transfer via MTP/PTP or an app-based mechanism.</p>

<p>To use an external drive, plug it into the phone and use the system file
manager to copy files to and from it. The only difference on GrapheneOS is USB
peripherals such as USB flash drives will be ignored unless they're plugged in
at boot or when the device is unlocked. You can configure this in Settings ➔
Security.</p>

<p>Transferring files to an attached computer is done with MTP / PTP. Users on
<p>Transferring files to an attached computer is done with MTP/PTP. Users on
a Mac computer will need to install
<a href="https://www.android.com/filetransfer/">Android File Transfer</a> to be
able to transfer files between macOS and Android. After plugging in the phone
Expand Down Expand Up @@ -1746,7 +1746,7 @@ <h2><a href="#copperheados">How is CopperheadOS related to GrapheneOS?</a></h2>
<article id="company">
<h2><a href="#company">Will GrapheneOS create a company?</a></h2>

<p>No, GrapheneOS will remain a non-profit open source project / organization. It
<p>No, GrapheneOS will remain a non-profit open source project/organization. It
will remain an independent organization not strongly associated with any specific
company. We partner with a variety of companies and other organizations, and we're
interested in more partnerships in the future. Keeping it as an non-profit avoids
Expand Down
Loading