Add section "Recommendations" tables IDs/headers

Add IDs and headers to the "Recommendations" section of the "About"
webpage on the website, in order to improve accessibility. Improvements
to table layout have also been developed, along with extended code line
length for content under heading level 5 or higher.
This commit is contained in:
inference 2023-11-23 23:15:30 +00:00
parent 89e0ba937f
commit e80f271613
Signed by: inference
SSH Key Fingerprint: SHA256:FtEVfx1CmTKMy40VwZvF4k+3TC+QhCWy+EmPRg50Nnc

View File

@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - About --> <!-- Inferencium - Website - About -->
<!-- Version: 6.3.0-alpha.9 --> <!-- Version: 6.3.0-alpha.10 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
@ -227,157 +227,108 @@
<div style="overflow-x:auto;"> <div style="overflow-x:auto;">
<table> <table>
<tr> <tr>
<th>Type</th> <th id="hardware-smartphone-type">Type</th>
<th>Hardware</th> <th id="hardware-smartphone">Hardware</th>
<th>Description</th> <th id="hardware-smartphone-description">Description</th>
<th>Source model<br> <th id="hardware-smartphone-source_model">Source model<br>
<br> (License)</th>
(License - SPDX)</th>
</tr> </tr>
<tr> <tr>
<td>Smartphone</td> <th id="hardware-smartphone-smartphone">Smartphone</th>
<td> <th id ="google-pixel" headers="hardware hardware-smartphone-smartphone">
<img src="asset/img/google-pixel_8_pro.png" width="100px" height="100px"/><br> <img src="asset/img/google-pixel_8_pro.png" width="100px" height="100px"/><br>
<br>
Google Pixel Google Pixel
</td> </th>
<td class="desc"> <td class="desc" headers="hardware-description google-pixel">
<h5>Security/Privacy</h5> <h5>Security/Privacy</h5>
<p>Google Pixel devices <p>Google Pixel devices are the best Android
are the best Android devices available on the market for
devices available on the
market for
<a href="https://security.googleblog.com/2021/10/pixel-6-setting-new-standard-for-mobile.html">security and privacy</a>.</p> <a href="https://security.googleblog.com/2021/10/pixel-6-setting-new-standard-for-mobile.html">security and privacy</a>.</p>
<p>They allow locking <p>They allow locking the bootloader with a
the bootloader with a
<a href="https://android.googlesource.com/platform/external/avb/+/master/README.md#pixel-2-and-later">custom Android Verified Boot (AVB) key</a> <a href="https://android.googlesource.com/platform/external/avb/+/master/README.md#pixel-2-and-later">custom Android Verified Boot (AVB) key</a>
in order to preserve in order to preserve security and privacy
security and privacy features when installing a custom operating
features when installing
a custom operating
system, such as system, such as
<a href="https://source.android.com/docs/security/features/verifiedboot/">verified boot</a> <a href="https://source.android.com/docs/security/features/verifiedboot/">verified boot</a>
which verifies that the which verifies that the OS has not been
OS has not been corrupted or tampered with, and
corrupted or tampered
with, and
<a href="https://source.android.com/docs/security/features/verifiedboot/verified-boot#rollback-protection">rollback protection</a> <a href="https://source.android.com/docs/security/features/verifiedboot/verified-boot#rollback-protection">rollback protection</a>
which prevents an which prevents an adversary from rolling
adversary from rolling back the OS or firmware version to a
back the OS or firmware previous version with known security
version to a previous vulnerabilities.</p>
version with known
security vulnerabilities.</p>
<p>They also include a <p>They also include a
<a href="https://developer.android.com/training/articles/keystore#HardwareSecurityModule">hardware security module</a> <a href="https://developer.android.com/training/articles/keystore#HardwareSecurityModule">hardware security module</a>
(Titan M2, improving on (Titan M2, improving on the previous
the previous generation generation
<a href="https://security.googleblog.com/2018/10/building-titan-better-security-through.html">Titan M</a>) <a href="https://security.googleblog.com/2018/10/building-titan-better-security-through.html">Titan M</a>)
which is extremely which is extremely resistant to both remote
resistant to both remote and physical attacks due to being completely
and physical attacks due isolated from the rest of the system,
to being completely including the operating system. Titan M2
isolated from the rest ensures that the device cannot be remotely
of the system, including compromised by requiring the side buttons of
the operating system. the device to be physically pressed for some
Titan M2 ensures that sensitive operations. Titan M2 also takes
the device cannot be the role of
remotely compromised by
requiring the side
buttons of the device to
be physically pressed
for some sensitive
operations. Titan M2
also takes the role of
<a href="https://source.android.com/docs/security/best-practices/hardware#strongbox-keymaster">Android StrongBox Keymaster</a>, <a href="https://source.android.com/docs/security/best-practices/hardware#strongbox-keymaster">Android StrongBox Keymaster</a>,
a a
<a href="https://source.android.com/docs/security/features/keystore">hardware-backed Keystore</a> <a href="https://source.android.com/docs/security/features/keystore">hardware-backed Keystore</a>
containing sensitive containing sensitive user keys which are
user keys which are unavailable to the OS or apps running on it
unavailable to the OS or without authorisation from Titan M2 itself.
apps running on it
without authorisation
from Titan M2 itself.
<a href="https://android-developers.googleblog.com/2018/05/insider-attack-resistance.html">Insider attack resistance</a> <a href="https://android-developers.googleblog.com/2018/05/insider-attack-resistance.html">Insider attack resistance</a>
ensures that Titan M2 ensures that Titan M2 firmware can be
firmware can be flashed flashed only if the user PIN/password is
only if the user already known, making it impossible to
PIN/password is already backdoor the device without already knowing
known, making it these secrets.</p>
impossible to backdoor <p>Google Pixel device kernels are compiled
the device without
already knowing these
secrets.</p>
<p>Google Pixel device
kernels are compiled
with with
<a href="https://android-developers.googleblog.com/2018/10/control-flow-integrity-in-android-kernel.html">forward-edge control-flow integrity</a> <a href="https://android-developers.googleblog.com/2018/10/control-flow-integrity-in-android-kernel.html">forward-edge control-flow integrity</a>
and and
<a href="https://security.googleblog.com/2019/10/protecting-against-code-reuse-in-linux_30.html">backward-edge control-flow integrity</a> <a href="https://security.googleblog.com/2019/10/protecting-against-code-reuse-in-linux_30.html">backward-edge control-flow integrity</a>
to prevent code reuse to prevent code reuse attacks against the
attacks against the kernel. MAC address randomisation is
kernel. MAC address
randomisation is
<a href="https://android-developers.googleblog.com/2017/04/changes-to-device-identifiers-in.html">implemented well, along with minimal probe requests and randomised initial sequence numbers</a>.</p> <a href="https://android-developers.googleblog.com/2017/04/changes-to-device-identifiers-in.html">implemented well, along with minimal probe requests and randomised initial sequence numbers</a>.</p>
<p>Google releases <p>Google releases
<a href="https://source.android.com/docs/security/bulletin/pixel/">guaranteed monthly security updates</a>, <a href="https://source.android.com/docs/security/bulletin/pixel/">guaranteed monthly security updates</a>,
ensuring Google Pixel ensuring Google Pixel devices are up-to-date
devices are up-to-date and quickly protected against security
and quickly protected
against security
vulnerabilities.</p> vulnerabilities.</p>
<p>Pixel 6-series and <p>Pixel 6-series and 7-series devices are a
7-series devices are a large improvement over the already very
large improvement over secure and private previous generation Pixel
the already very secure devices. They replace ARM-based Titan M with
and private previous RISC-V-based Titan M2, reducing trust by
generation Pixel removing ARM from the equation. Titan M2 is
devices. They replace more resiliant to attacks than Titan M, and
ARM-based Titan M with is
RISC-V-based Titan M2,
reducing trust by
removing ARM from the
equation. Titan M2 is
more resiliant to
attacks than Titan M,
and is
<a href="https://www.tuv-nederland.nl/assets/files/cerfiticaten/2022/09/nscib-cc-22-0228971-cert-final.pdf">AVA_VAN.5 certified</a>, <a href="https://www.tuv-nederland.nl/assets/files/cerfiticaten/2022/09/nscib-cc-22-0228971-cert-final.pdf">AVA_VAN.5 certified</a>,
the highest level of the highest level of vulnerability
vulnerability assessment. Google's in-house Tensor
assessment. Google's System-on-Chip includes Tensor Security
in-house Tensor Core, further improving device security.</p>
System-on-Chip includes <p>Pixel 8-series includes Armv9's
Tensor Security Core,
further improving device
security.</p>
<p>Pixel 8-series
includes Armv9's
<a href="https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/enhanced-security-through-mte">Memory Tagging Extension</a>, <a href="https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/enhanced-security-through-mte">Memory Tagging Extension</a>,
which dramatically which dramatically increases device security
increases device by eliminating up to 95% of all security
security by eliminating issues caused by memory-unsafety.</p>
up to 95% of all
security issues caused
by memory-unsafety.</p>
<h5>Support</h5> <h5>Support</h5>
<p>Pixel 4a (5G), Pixel <p>Pixel 4a (5G), Pixel 5, and Pixel 5a, are
5, and Pixel 5a, are
supported for a supported for a
<a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-a-g-pixel-pixel-a-g-pixel-a-pixel-xl-pixel">minimum of 3 years from launch</a>.</p> <a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-a-g-pixel-pixel-a-g-pixel-a-pixel-xl-pixel">minimum of 3 years from launch</a>.</p>
<p>Pixel 6-series, Pixel <p>Pixel 6-series, Pixel 7-series, Pixel
7-series, Pixel Fold, Fold, and Pixel Tablet, are supported for a
and Pixel Tablet, are
supported for a
<a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-a-pixel-pixel-pro-pixel-a-pixel-pixel-pro-pixel-fold">minimum of 5 years from launch</a>. <a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-a-pixel-pixel-pro-pixel-a-pixel-pixel-pro-pixel-fold">minimum of 5 years from launch</a>.
<p>Pixel 8-series is supported for <p>Pixel 8-series is supported for a
a
<a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-pro">minimum of 7 years from launch</a>, <a href="https://support.google.com/nexus/answer/4457705#zippy=%2Cpixel-pro">minimum of 7 years from launch</a>,
putting it on the same support putting it on the same support level as
level as Apple; Google have even Apple; Google have even surpassed Apple in
surpassed Apple in this regard, this regard, as Apple does not commit to a
as Apple does not commit to a support timeframe for their devices.</p>
support timeframe for their </td>
devices.</p> <td headers="hardware-smartphone-source_model google-pixel">
</td> </td>
</tr> </tr>
</table> </table>
@ -387,85 +338,67 @@
<div style="overflow-x:auto;"> <div style="overflow-x:auto;">
<table> <table>
<tr> <tr>
<th>Type</th> <th id="software-desktop-type">Type</th>
<th>Software</th> <th id="software-desktop">Software</th>
<th>Description</th> <th id="software-desktop-description">Description</th>
<th>Source model<br> <th id="software-desktop-source_model">Source model<br>
<br> (License)</th>
(License - SPDX)</th>
</tr> </tr>
<tr> <tr>
<td>Operating system</td> <th id="software-desktop-os">Operating system</th>
<td> <th id="gentoo_linux" headers="software-desktop software-desktop-os">
<img src="asset/img/logo-gentoo_linux.png" width="100px" height="100px"/><br> <img src="asset/img/logo-gentoo_linux.png" width="100px" height="100px"/><br>
<br>
Gentoo Linux Gentoo Linux
</td> </th>
<td class="desc"> <td class="desc" headers="software-description gentoo_linux">
<p><a href="https://www.gentoo.org/">Gentoo Linux</a> <p><a href="https://www.gentoo.org/">Gentoo Linux</a>
is a highly modular, is a highly modular, source-based, Linux-based
source-based, Linux-based operating system which allows vast customisation to
operating system which allows tailor the operating system to suit your specific
vast customisation to tailor the needs. There are many advantages to such an
operating system to suit your operating system, with the most notable being the
specific needs. There are many ability to optimise the software for security,
advantages to such an operating privacy, performance, or power usage; however, there
system, with the most notable are effectively unlimited other use cases, or a
being the ability to optimise combination of multiple use cases.</p>
the software for security, <p>I have focused on security hardening and privacy
privacy, performance, or power hardening, placing performance below those aspects,
usage; however, there are although my system is still very performant. Some of
effectively unlimited other use
cases, or a combination of
multiple use cases.</p>
<p>I have focused on security
hardening and privacy hardening,
placing performance below those
aspects, although my system is
still very performant. Some of
the hardening I apply includes the hardening I apply includes
<a href="https://en.wikipedia.org/wiki/Buffer_overflow_protection">stack protection</a>, <a href="https://en.wikipedia.org/wiki/Buffer_overflow_protection">stack protection</a>,
<a href="https://en.wikipedia.org/wiki/Integer_overflow">signed integer overflow trapping</a>, <a href="https://en.wikipedia.org/wiki/Integer_overflow">signed integer overflow trapping</a>,
and GrapheneOS' and GrapheneOS'
<a href="https://github.com/GrapheneOS/hardened_malloc/">hardened_malloc</a> <a href="https://github.com/GrapheneOS/hardened_malloc/">hardened_malloc</a>
memory allocator.</p> memory allocator.</p>
You can find my Gentoo Linux You can find my Gentoo Linux configurations in my
configurations in my
<a href="https://src.inferencium.net/Inferencium/cfg/">configuration respository</a>.</p> <a href="https://src.inferencium.net/Inferencium/cfg/">configuration respository</a>.</p>
</td> </td>
<td> <td headers="software-desktop-source_model gentoo_linux">
Open source<br> Open-source<br>
<br>
(GPL-2.0-only) (GPL-2.0-only)
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Web browser</td> <th id="software-web_browser">Web browser</th>
<td> <th id="chromium" headers="software-desktop software-web_browser">
<img src="asset/img/logo-chromium.png" width="100px" height="100px"/><br> <img src="asset/img/logo-chromium.png" width="100px" height="100px"/><br>
<br>
Chromium Chromium
</td> </th>
<td class="desc"> <td class="desc" headers="software-description chromium">
<p><a href="https://chromium.org/">Chromium</a> <p><a href="https://chromium.org/">Chromium</a>
is a highly secure web browser is a highly secure web browser which is often ahead
which is often ahead of other of other web browsers in security aspects. It has a
web browsers in security dedicated security team and a very impressive
aspects. It has a dedicated
security team and a very
impressive
<a href="https://www.chromium.org/Home/chromium-security/brag-sheet/">security brag sheet</a>. <a href="https://www.chromium.org/Home/chromium-security/brag-sheet/">security brag sheet</a>.
Chromium's security features Chromium's security features include a strong
include a strong
<a href="https://code.google.com/p/chromium/wiki/LinuxSandboxing">multi-layer sandbox</a>, <a href="https://code.google.com/p/chromium/wiki/LinuxSandboxing">multi-layer sandbox</a>,
strong strong
<a href="https://www.chromium.org/Home/chromium-security/site-isolation">site isolation</a>, <a href="https://www.chromium.org/Home/chromium-security/site-isolation">site isolation</a>,
<a href="https://www.chromium.org/Home/chromium-security/binding-integrity">Binding Integrity</a> <a href="https://www.chromium.org/Home/chromium-security/binding-integrity">Binding Integrity</a>
memory hardening, and memory hardening, and
<a href="https://www.chromium.org/developers/testing/control-flow-integrity/">control-flow integrity (CFI)</a>.</p></td> <a href="https://www.chromium.org/developers/testing/control-flow-integrity/">control-flow integrity (CFI)</a>.</p></td>
<td> <td headers="software-desktop-source_model chromium">
Open source<br> Open-source<br>
<br>
(BSD-3-Clause) (BSD-3-Clause)
</td> </td>
</tr> </tr>
@ -475,170 +408,132 @@
<div style="overflow-x:auto;"> <div style="overflow-x:auto;">
<table> <table>
<tr> <tr>
<th>Type</th> <th id="software-smartphone-type">Type</th>
<th>Software</th> <th id="software-smartphone">Software</th>
<th>Description</th> <th id="software-smartphone-description">Description</th>
<th>Source model<br> <th id="software-smartphone-source_model">Source model<br>
<br> (License)</th>
(License - SPDX)</th>
</tr> </tr>
<tr> <tr>
<td>Operating system</td> <th id="software-smartphone-os">Operating system</th>
<td> <th id="grapheneos" headers="software-smartphone software-smartphone-os">
<img src="asset/img/logo-grapheneos.png" width="100px" height="100px"/><br> <img src="asset/img/logo-grapheneos.png" width="100px" height="100px"/><br>
<br> <br>
GrapheneOS GrapheneOS
</td> </th>
<td class="desc"> <td class="desc" headers="software-smartphone-description grapheneos">
<p><a href="https://grapheneos.org/">GrapheneOS</a> <p><a href="https://grapheneos.org/">GrapheneOS</a>
is a security-hardened, is a security-hardened, privacy-hardened,
privacy-hardened, secure-by-default, Android-based operating system
secure-by-default, Android-based which implements extensive, systemic security and
operating system which privacy hardening to the Android Open Source Project
implements extensive, systemic used as its base codebase. Its hardening includes
security and privacy hardening closing gaps for apps to access sensitive system
to the Android Open Source information, a secure app spawning feature which
Project used as its base avoids sharing address space layout and other
codebase. Its hardening includes secrets AOSP's default Zygote app spawning model
closing gaps for apps to access would share,
sensitive system information, a
secure app spawning feature
which avoids sharing address
space layout and other secrets
AOSP's default Zygote app
spawning model would share,
<a href="https://github.com/GrapheneOS/kernel_gs-gs101/">hardened kernel</a>, <a href="https://github.com/GrapheneOS/kernel_gs-gs101/">hardened kernel</a>,
hardened memory allocator hardened memory allocator
(<a href="https://github.com/GrapheneOS/hardened_malloc/">hardened_malloc</a>) (<a href="https://github.com/GrapheneOS/hardened_malloc/">hardened_malloc</a>)
to protect against common memory to protect against common memory corruption
corruption vulnerabilties, vulnerabilities,
<a href="https://github.com/GrapheneOS/platform_bionic/">hardened Bionic standard C library</a>, <a href="https://github.com/GrapheneOS/platform_bionic/">hardened Bionic standard C library</a>,
<a href="https://github.com/GrapheneOS/platform_system_sepolicy/">stricter SELinux policies</a>, <a href="https://github.com/GrapheneOS/platform_system_sepolicy/">stricter SELinux policies</a>,
and local and remote and local and remote hardware-backed attestation
hardware-backed attestation
(<a href="https://attestation.app/about/">Auditor</a>) (<a href="https://attestation.app/about/">Auditor</a>)
to ensure the OS has not been to ensure the OS has not been corrupted or tampered
corrupted or tampered with.</p> with.</p>
<p>GrapheneOS only supports <p>GrapheneOS only supports
<a href="https://grapheneos.org/faq#device-support">high security and well-supported devices</a> <a href="https://grapheneos.org/faq#device-support">high security and well-supported devices</a>
which receive full support from which receive full support from their manufacturers,
their manufacturers, including including firmware updates, long support lifecycles,
firmware updates, long support secure hardware, and overall high security
lifecycles, secure hardware, and
overall high security
practices.</p> practices.</p>
<p>For an extensive list of <p>For an extensive list of features GrapheneOS
features GrapheneOS provides, provides, visit its
visit its
<a href="https://grapheneos.org/features/">official features list</a> <a href="https://grapheneos.org/features/">official features list</a>
which provides extensive which provides extensive documentation.</p>
documentation.</p>
</td> </td>
<td> <td headers="software-smartphone-source_model grapheneos">
Open source<br> Open-source<br>
<br>
(MIT) (MIT)
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Web browser</td> <th id="software-smartphone-web_browser">Web browser</th>
<td> <th id="vanadium" headers="software-smartphone software-smartphone-web_browser">
<img src="asset/img/logo-vanadium.png" width="100px" height="100px"/><br> <img src="asset/img/logo-vanadium.png" width="100px" height="100px"/><br>
<br>
Vanadium Vanadium
</td> </th>
<td class="desc"> <td class="desc" headers="software-smartphone-description vanadium">
<p>Vanadium is a <p>Vanadium is a security-hardened, privacy-hardened
security-hardened, Chromium-based web browser which utilises
privacy-hardened Chromium-based GrapheneOS' operating system hardening to implement
web browser which utilises stronger defenses to the already very secure
GrapheneOS' operating system Chromium web browser. Its hardening alongside
hardening to implement stronger Chromium's base security features includes
defenses to the already very
secure Chromium web browser. Its
hardening alongside Chromium's
base security features includes
<a href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0081-Implement-UI-for-JIT-site-settings.patch">disabling JavaScript just-in-time (JIT) compilation by default</a>, <a href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0081-Implement-UI-for-JIT-site-settings.patch">disabling JavaScript just-in-time (JIT) compilation by default</a>,
<a href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0051-stub-out-the-battery-status-API.patch">stubbing out the battery status API to prevent abuse of it</a>, <a href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0051-stub-out-the-battery-status-API.patch">stubbing out the battery status API to prevent abuse of it</a>,
and and
<a href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0084-Toggle-for-navigating-external-URL-in-incognito.patch">always-on Incognito mode as an option</a>.</p> <a href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/0084-Toggle-for-navigating-external-URL-in-incognito.patch">always-on Incognito mode as an option</a>.</p>
<p>Vanadium's source code, <p>Vanadium's source code, including its Chromium
including its Chromium patchset, patch-set, can be found in its
can be found in its
<a href="https://github.com/GrapheneOS/Vanadium/">official repository</a>.</p></td> <a href="https://github.com/GrapheneOS/Vanadium/">official repository</a>.</p></td>
<td> <td headers="software-smartphone-source_model vanadium">
Open source<br> Open-source<br>
<br>
(GPL-2.0-only) (GPL-2.0-only)
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Messenger</td> <th rowspan="2" id="software-smartphone-messenger">Messenger</th>
<td> <th id="molly" headers="software-smartphone software-smartphone-messenger">
<img src="asset/img/logo-molly.png" width="100px" height="100px"/><br> <img src="asset/img/logo-molly.png" width="100px" height="100px"/><br>
<br>
Molly Molly
</td> </th>
<td class="desc"> <td class="desc" headers="software-smartphone-description molly">
<p><a href="https://molly.im/">Molly</a> <p><a href="https://molly.im/">Molly</a>
is a security-hardened, is a security-hardened, privacy-hardened
privacy-hardened
<a href="https://signal.org/">Signal</a> <a href="https://signal.org/">Signal</a>
client which hardens Signal by client which hardens Signal by using a variety of
using a variety of
<a href="https://github.com/mollyim/mollyim-android#features">unique features</a>, <a href="https://github.com/mollyim/mollyim-android#features">unique features</a>,
allowing allowing
<a href="https://github.com/mollyim/mollyim-android/wiki/Data-Encryption-At-Rest">locking the database when not in use</a>, <a href="https://github.com/mollyim/mollyim-android/wiki/Data-Encryption-At-Rest">locking the database when not in use</a>,
and and
<a href="https://github.com/mollyim/mollyim-android/blob/a81ff7d120adc9d427be17239107343146bad704/app/src/main/java/org/thoughtcrime/securesms/crypto/MasterSecretUtil.java#L91">utilising Android StrongBox</a> <a href="https://github.com/mollyim/mollyim-android/blob/a81ff7d120adc9d427be17239107343146bad704/app/src/main/java/org/thoughtcrime/securesms/crypto/MasterSecretUtil.java#L91">utilising Android StrongBox</a>
to protect user keys to protect user keys using the device's hardware
using the device's hardware
security module.</p> security module.</p>
<p>Molly is available in <p>Molly is available in
<a href="https://github.com/mollyim/mollyim-android#free-and-open-source">2 flavours</a>: <a href="https://github.com/mollyim/mollyim-android#free-and-open-source">2 flavours</a>:
<ul> <ul>
<li>Molly, which <li>Molly, which includes the same
includes the proprietary Google code as Signal to
same proprietary support more features.</li>
Google code as <li>Molly-FOSS, which removes the
Signal to proprietary Google code to provide
support more an entirely open-source client.</li>
features.</li>
<li>Molly-FOSS,
which removes
the proprietary
Google code to
provide an
entirely
open-source
client.</li>
</ul> </ul>
</p> </p>
</td> </td>
<td> <td headers="software-smartphone-source_model molly">
Open source<br> Open-source<br>
<br>
(GPL-3.0-only) (GPL-3.0-only)
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Messenger</td> <th id="conversations" headers="software-smartphone software-smartphone-messenger">
<td>
<img src="asset/img/logo-conversations.png" width="100px" height="100px"/><br> <img src="asset/img/logo-conversations.png" width="100px" height="100px"/><br>
<br>
Conversations Conversations
</td> </th>
<td class="desc"> <td class="desc" headers="software-smartphone-description conversations">
<p><a href="https://conversations.im/">Conversations</a> <p><a href="https://conversations.im/">Conversations</a>
is a well-designed Android is a well-designed Android
<a href="https://xmpp.org/">XMPP</a> <a href="https://xmpp.org/">XMPP</a>
client which serves as the de client which serves as the de facto XMPP reference
facto XMPP reference client and client and has great usability.</p>
has great usability.</p>
</td> </td>
<td> <td headers="software-smartphone-source_model conversations">
Open source<br> Open-source<br>
<br>
(GPL-3.0-only) (GPL-3.0-only)
</td> </td>
</tr> </tr>