diff --git a/ask/ask.pdf b/ask/ask.pdf new file mode 100644 index 0000000..992c682 Binary files /dev/null and b/ask/ask.pdf differ diff --git a/ask/ask.tex b/ask/ask.tex new file mode 100644 index 0000000..8f5c094 --- /dev/null +++ b/ask/ask.tex @@ -0,0 +1,212 @@ +% Options for packages loaded elsewhere +\PassOptionsToPackage{unicode}{hyperref} +\PassOptionsToPackage{hyphens}{url} + +\documentclass[ +]{article} +\usepackage{amsmath,amssymb} +\usepackage{titlesec} +\usepackage{titling} +\usepackage{lmodern} +\usepackage{xcolor} +\usepackage{iftex} +\usepackage[margin=1in]{geometry} +\ifPDFTeX + \usepackage[T1]{fontenc} + \usepackage[utf8]{inputenc} + \usepackage{textcomp} % provide euro and other symbols +\else % if luatex or xetex + \usepackage{unicode-math} + \defaultfontfeatures{Scale=MatchLowercase} + \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} +\fi +% Use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +\IfFileExists{microtype.sty}{% use microtype if available + \usepackage[]{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +}{} +\makeatletter +\@ifundefined{KOMAClassName}{% if non-KOMA class + \IfFileExists{parskip.sty}{% + \usepackage{parskip} + }{% else + \setlength{\parindent}{0pt} + \setlength{\parskip}{1pt plus 2pt minus 1pt}} +}{% if KOMA class + \KOMAoptions{parskip=half}} +\makeatother +\definecolor{myblue}{RGB}{24, 102, 201} +\titleformat{\section} +{\huge\bfseries\color{myblue}} +{} +{0em} +{}[\titlerule] + +\titleformat{\subsection} +{\Large\bfseries} +{} +{0em} +{} + +\titleformat{\subsubsection}[runin] +{\bfseries} +{} +{0em} +{}[:] + +\titlespacing{\subsubsection} +{0em}{0.75em}{0.5em} + +\titlespacing{\subsection} +{0em}{1em}{0.65em} + +\titlespacing{\maketitle} +{0em}{0em}{0em} +\renewcommand{\maketitle}{ + \begin{center} + {\huge\bfseries \theauthor}\\ + \vspace{.35em} + sufyaan.me/ask + \end{center} +} +\usepackage{color} +\usepackage{fancyvrb} +\newcommand{\VerbBar}{|} +\newcommand{\VERB}{\Verb[commandchars=\\\{\}]} +\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}} +% Add ',fontsize=\small' for more characters per line +\newenvironment{Shaded}{}{} +\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}} +\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} +\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}} +\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} +\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}} +\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} +\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}} +\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} +\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}} +\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}} +\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}} +\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} +\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}} +\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}} +\newcommand{\ExtensionTok}[1]{#1} +\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} +\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}} +\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}} +\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} +\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}} +\newcommand{\NormalTok}[1]{#1} +\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}} +\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}} +\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}} +\newcommand{\RegionMarkerTok}[1]{#1} +\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} +\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}} +\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} +\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}} +\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} +\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} +\setlength{\emergencystretch}{3em} % prevent overfull lines +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering +\ifLuaTeX +\usepackage[bidi=basic]{babel} +\else +\usepackage[bidi=default]{babel} +\fi +\babelprovide[main,import]{english} +% get rid of language-specific shorthands (see #6817): +\let\LanguageShortHands\languageshorthands +\def\languageshorthands#1{} +\ifLuaTeX + \usepackage{selnolig} % disable illegal ligatures +\fi +\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} +\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available +\urlstyle{same} % disable monospaced font for URLs +\hypersetup{ + pdftitle={(POST) Use AnySoftKeyboard}, + pdflang={en}, + colorlinks=true, + linkcolor=blue, + filecolor=blue, + urlcolor=blue, + pdfcreator={LaTeX via pandoc}} + +\title{Sufyaan's Website} +\author{Sufyaan's Website} +\date{} + +\begin{document} +\maketitle + +\section[Use AnySoftKeyboard]{Use AnySoftKeyboard}\label{why-i-use-terminal-apps} + +\textbf{22 September 2023} + + +\textbf{Category: }Software + +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. + +When you keep the above statements in mind, it gets unhealthily +fear-inducing when you read how +\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\textquotesingle{} email addresses.} It is also scary how +\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.} There was also a +keyboard called ai.type that had over 40M users. Out of these, +\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.} This included information like +\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.} + +What is the solution to this madness? Fortunately, if you are on +Android, you have \href{../definitions/free-software}{free software} +options. By using \href{../definitions/free-software}{free software} +keyboards, you can ensure that none of your keystrokes are stored or +sent to a server. This brings us to +\href{https://anysoftkeyboard.github.io/}{AnySoftKeyboard}. +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 \href{https://termux.dev/en/}{Termux}. + +If you are on an iPhone, the best option is ironically Gboard. You can +block Gboard\textquotesingle s tracking using iOS\textquotesingle{} +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. + +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 +\href{https://lineageos.org/}{LineageOS} or +\href{https://grapheneos.org/}{GrapheneOS}. + +\end{document} diff --git a/ask/index.html b/ask/index.html index 4a64f29..9f05062 100644 --- a/ask/index.html +++ b/ask/index.html @@ -24,6 +24,7 @@

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 AnySoftKeyboard. 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 Termux.

If you are on an iPhone, the best option is ironically Gboard. You can block Gboard's 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.

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 LineageOS or GrapheneOS.

>>> Reply To Me

+

>>> Download PDF

Previous Post - Next Post