You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

223 lines
7.1 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>ask</title>
<style>
html {
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 12px;
}
h1 {
font-size: 1.8em;
}
}
@media print {
html {
background-color: white;
}
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
ul.task-list li input[type="checkbox"] {
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<h1 id="use-anysoftkeyboard">Use AnySoftKeyboard</h1>
<p>Your smartphone keyboard is an astoundingly sensitive piece of
software. You use it to type everything from the most innocent of
messages to the most crucial passwords. In terms of messaging on
encrypted chat applications like Session or Signal, your smartphone
keyboard bypasses encryption. They could know what you are searching
about even on private search engines like SearX. This is because your
keystrokes are unencrypted. With respect to passwords, your smartphone
keyboard, if invasive, can potentially view your bank account details.
This means that an individual who can access your smartphone keyboard
does not need to utilize advanced techniques to view your data.
Therefore, in terms of trust, you should make sure you absolutely trust
your smartphone keyboard not to store your written text.</p>
<p>When you keep the above statements in mind, it gets unhealthily
fear-inducing when you read how <a
href="https://www.androidauthority.com/swiftkey-suspends-service-data-leak-706680/">SwiftKey
had a cloud syncing glitch which led to users being able to view other
users email addresses.</a> It is also scary how <a
href="https://www.zdnet.com/article/600m-samsung-galaxy-phones-at-security-risk-due-to-pre-installed-keyboard-flaw/">SwiftKey
that shipped by default on 600M Samsung Galaxy smartphones had a
vulnerability that allowed hackers to setup a proxy server to access
sensors and install apps without the user knowing.</a> There was also a
keyboard called ai.type that had over 40M users. Out of these, <a
href="https://www.zdnet.com/article/popular-virtual-keyboard-leaks-31-million-user-data/">31M
users had their data leaked because the MongoDB database had no
password.</a> This included information like <a
href="https://mackeeper.com/blog/data-breach-reports-2017/">phone
numbers, full names, device names and models, screen resolution, Android
version, IMSI and IMEI numbers, email addresses, country of residence,
social media profiles, IP addresses and even locations.</a></p>
<p>What is the solution to this madness? Fortunately, if you are on
Android, you have free software options. By using free software
keyboards, you can ensure that none of your keystrokes are stored or
sent to a server. This brings us to <a
href="https://anysoftkeyboard.github.io/">AnySoftKeyboard</a>.
AnySoftKeyboard is a free, libre and open-source keyboard for Android
that has multiple modes, layouts, theme customizations and more. It has
all the features you would expect. Gesture typing, keyboard effects,
corrections, emojis, you name it. Most importantly, it does not track
any of your keystrokes. I have been using it for almost an year. It has
been fast and efficient due to the minimalism and has saved me a lot of
time. It has many niche features like a terminal layout that has arrows,
tabs, pipes and forward slashes for ease of use in Android terminal
emulators like <a href="https://termux.dev/en/">Termux</a>.</p>
<p>If you are on an iPhone, the best option is ironically Gboard. You
can block Gboards tracking using iOS tracker blocking. Gboard does not
log the text you store and instead uses federated learning to improve
its autocorrect. There are no private options for an iPhone so it is
better to choose the best out of two evils.</p>
<p>All in all, the keyboard you use should be a factor for everyone. Use
a different keyboard and do not use the default one unless you are on <a
href="https://lineageos.org/">LineageOS</a> or <a
href="https://grapheneos.org/">GrapheneOS</a>.</p>
</body>
</html>