Hello! We are running our annual fundraising. Please consider making a donation if you value this freely available service or want to support people around the world working towards liberatory social change - https://riseup.net/donate
_This guide has been tested with Tails OS versions **6.2** and **signal-cli-v0.13.3**_
_This guide has been tested with Tails OS versions **6.6** and **signal-cli-v0.13.5**_
**Notes**:
**Notes**:
* Many steps happen in the _Terminal_. To paste content in the terminal, either right-click in the terminal and choose Paste, or use CTRL-SHIFT-V (not CTRL-V).
* Many steps happen in the _Terminal_. To paste content in the terminal, either right-click in the terminal and choose Paste, or use CTRL-SHIFT-V (not CTRL-V).
***Do NOT use the _Root Terminal_** or instructions won't work!
***Do NOT use the _Root Terminal_** or instructions won't work!
* A working **internet connection is required** at every step of the howto.
* A working **internet connection is required** at every step of the howto.
## Persistent Storage
## Persistent Storage
1. Make sure you are using an up to date Tails OS, check out https://tails.boum.org/doc/upgrade/.
1. Make sure you are using an up to date Tails OS, check out https://tails.boum.org/doc/upgrade/.
2. Create persistent storage, follow the steps on https://tails.boum.org/doc/persistent_storage/create/, skip to step 2 if you already have a persistent storage
2. Create persistent storage, follow the steps on https://tails.boum.org/doc/persistent_storage/create/, skip to step 2 if you already have a persistent storage
3. Configure persistent storage with [_Additonal software_](https://tails.boum.org/doc/persistent_storage/configure/#index12h2) enabled and features according to your other needs (mail, pgp, additional software) follow the steps on https://tails.boum.org/doc/persistent_storage/configure/, skip to [Install signal-cli](#install-signal-cli) if you already have configured your persistent storage with _additional software_ enabled.
3. Configure persistent storage with [_Additonal software_](https://tails.boum.org/doc/persistent_storage/configure/#index12h2) enabled and features according to your other needs (mail, pgp, additional software) follow the steps on https://tails.boum.org/doc/persistent_storage/configure/, skip to [Install signal-cli](#install-signal-cli) if you already have configured your persistent storage with _additional software_ enabled.
4. (Re)start your Tails and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/ and encrypt your Persistent on the start Screen.
4. (Re)start your Tails and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/ and encrypt your Persistent on the start Screen.
5. Choose Applications ▸ System Tools ▸ Terminal and use the password set in step 4.
5. Choose Applications ▸ System Tools ▸ Terminal and use the password set in step 4.
6. In order to keep [signal-cli's storage](https://github.com/AsamK/signal-cli#storage) persistent, execute:
6. In order to keep [signal-cli's storage](https://github.com/AsamK/signal-cli#storage) persistent, execute:
```plaintext
```plaintext
sudo sed -i '$ a /home/amnesia/.local/share/signal-cli/ source=signal-cli' /live/persistence/TailsData_unlocked/persistence.conf
sudo sed -i '$ a /home/amnesia/.local/share/signal-cli/ source=signal-cli' /live/persistence/TailsData_unlocked/persistence.conf
```
```
7. Shutdown Tails.
7. Shutdown Tails.
<!-- ## ~~Configuring additional APT repositories for signal-cli~~
<!-- ## ~~Configuring additional APT repositories for signal-cli~~
<details>
<details>
<summary>
<summary>
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
</summary>
</summary>
1. ~~Start your Tails unlocking your persistent storage and setup an administration password, follow section *Set up an administration password\* at <spandir="">\~\~\~\~</span>\~\~\~\~~~~~https://tails.boum.org/doc/first_steps/welcome_screen/administration_password~~
1. ~~Start your Tails unlocking your persistent storage and setup an administration password, follow section *Set up an administration password\* at <spandir="">\~\~\~\~</span>\~\~\~\~~~~~https://tails.boum.org/doc/first_steps/welcome_screen/administration_password~~
2. ~~Choose Applications ▸ System Tools ▸ Root Terminal use the password set in step 1.~~
2. ~~Choose Applications ▸ System Tools ▸ Root Terminal use the password set in step 1.~~
3. ~~Create an apt-sources.list.d folder in your Persistent Storage:~~
3. ~~Create an apt-sources.list.d folder in your Persistent Storage:~~
5. ~~We need to make the `apt-sources.list.d` folder persistent, by executing:~~
5. ~~We need to make the `apt-sources.list.d` folder persistent, by executing:~~
```plaintext
```plaintext
sed -i '$ a /etc/apt/sources.list.d source=apt-sources.list.d,link' /live/persistence/TailsData_unlocked/persistence.conf
sed -i '$ a /etc/apt/sources.list.d source=apt-sources.list.d,link' /live/persistence/TailsData_unlocked/persistence.conf
```
```
6. ~~Now we add the ~~[~~signal-cli debian repository~~](https://packaging.gitlab.io/signal-cli/installation/standalone/#repository)~~ to a new file `/live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list` and set correct file ownership and permissions:~~
6. ~~Now we add the ~~[~~signal-cli debian repository~~](https://packaging.gitlab.io/signal-cli/installation/standalone/#repository)~~ to a new file `/live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list` and set correct file ownership and permissions:~~
```plaintext
```plaintext
echo -e 'deb tor+https://packaging.gitlab.io/signal-cli signalcli main' | tee -a /live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list && chown root:root /live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list && chmod 644 /live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list
echo -e 'deb tor+https://packaging.gitlab.io/signal-cli signalcli main' | tee -a /live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list && chown root:root /live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list && chmod 644 /live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list
```
```
7. ~~We need to download and add the signal-cli's repo signing key to apt:~~
7. ~~We need to download and add the signal-cli's repo signing key to apt:~~
8. ~~Create a script for adding the signing key to apt, this needs to be done due to ~~[~~Tails not allowing to add Keys of 3rd party repos~~](https://gitlab.tails.boum.org/tails/tails/-/issues/17510)~~:~~
8. ~~Create a script for adding the signing key to apt, this needs to be done due to ~~[~~Tails not allowing to add Keys of 3rd party repos~~](https://gitlab.tails.boum.org/tails/tails/-/issues/17510)~~:~~
```plaintext
```plaintext
echo -e '#/bin/sh\nsudo cp /home/amnesia/Persistent/morph027-signal-cli.asc /etc/apt/trusted.gpg.d/' | tee -a /home/amnesia/Persistent/apt-keys.sh && chown amnesia:amnesia /home/amnesia/Persistent/apt-keys.sh && chmod +x /home/amnesia/Persistent/apt-keys.sh
echo -e '#/bin/sh\nsudo cp /home/amnesia/Persistent/morph027-signal-cli.asc /etc/apt/trusted.gpg.d/' | tee -a /home/amnesia/Persistent/apt-keys.sh && chown amnesia:amnesia /home/amnesia/Persistent/apt-keys.sh && chmod +x /home/amnesia/Persistent/apt-keys.sh
```
```
9. ~~Shutdown Tails.~~
9. ~~Shutdown Tails.~~
</details>-->
</details>-->
## Install signal-cli
## Install signal-cli
**WARNING: In this section of the guide this is explained for signal-cli-0.13.3 released April 19th, 2024. This version might become outdated if this guide is not updated regularly. Strongly recommended to use [latest signal-cli release](https://github.com/AsamK/signal-cli/releases/latest)**
**WARNING: In this section of the guide this is explained for signal-cli-0.13.5 released July 25th, 2024. This version might become outdated if this guide is not updated regularly. Strongly recommended to use [latest signal-cli release](https://github.com/AsamK/signal-cli/releases/latest)**
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
2. Choose Applications ▸ System Tools ▸ Terminal
2. Choose Applications ▸ System Tools ▸ Terminal
<!--<details>
<!--<details>
<summary>
<summary>
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
</summary>
</summary>
3\.<span dir="">\~\~</span>Run the script for adding signal-cli signing keys to apt:<span dir="">\~\~</span>
3\.<span dir="">\~\~</span>Run the script for adding signal-cli signing keys to apt:<span dir="">\~\~</span>
```plaintext
```plaintext
Persistent/apt-keys.sh
Persistent/apt-keys.sh
```
```
3. _~~Wait until additional software has been installed successfully~~_
3. _~~Wait until additional software has been installed successfully~~_
</details>-->
</details>-->
3. Update repositories and install `ca-certificates-java` and `openjdk-21` executing
3. Update repositories and install `ca-certificates-java` and `openjdk-21` executing
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
</summary>
</summary>
5. Install `signal-cli-jre` executing
5. Install `signal-cli-jre` executing
```plaintext
```plaintext
sudo apt-get install signal-cli-jre
sudo apt-get install signal-cli-jre
```
```
6. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
6. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
7. If more than one signal-cli-* is installed, we need to update-alternatives for signal-cli to run signal-cli-jre executing
7. If more than one signal-cli-* is installed, we need to update-alternatives for signal-cli to run signal-cli-jre executing
4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
5. Download `signal-cli-0.13.3` and signature file, executing:
5. Download `signal-cli-0.13.5` and signature file, executing:
6. As announced per https://github.com/AsamK/signal-cli/issues/65 repos owners PGP fingerprint is `FA10826A74907F9EC6BBB7FC2BA2CD21B5B09570` and the key id is `2BA2CD21B5B09570`. Download the pgp public key file from mentioned pgp key server:
6. As announced per https://github.com/AsamK/signal-cli/issues/65 repos owners PGP fingerprint is `FA10826A74907F9EC6BBB7FC2BA2CD21B5B09570` and the key id is `2BA2CD21B5B09570`. Download the pgp public key file from mentioned pgp key server:
<!--**WARNING: It seems to be badly signed, looks likewise https://github.com/AsamK/signal-cli/issues/934**-->
<!--**WARNING: It seems to be badly signed, looks likewise https://github.com/AsamK/signal-cli/issues/934**-->
8. Extract the archive:
8. Extract the archive:
```plaintext
```plaintext
tar xf signal-cli-0.13.3.tar.gz -C /home/amnesia/Persistent/
tar xf signal-cli-0.13.5.tar.gz -C /home/amnesia/Persistent/
```
```
9. We create a script for running `signal-cli`
9. We create a script for running `signal-cli`
<details>
<details>
<summary>
<summary>
Further details
Further details
</summary>We need to tell jre to use torsocks' SOCKS proxy and add the signal-cli directory to the path script for running `signal-cli`. Also we need to add libsignal_jni.so to the Java library path
</summary>We need to tell jre to use torsocks' SOCKS proxy and add the signal-cli directory to the path script for running `signal-cli`. Also we need to add libsignal_jni.so to the Java library path
</details>
</details>
```plaintext
```plaintext
echo -e '#!/bin/sh\nsudo dpkg -i jdk-21_linux-x64_bin.deb\nexport JAVA_TOOL_OPTIONS="-Djava.net.preferIPv4Stack=true"\nexport PATH="/home/amnesia/Persistent/signal-cli-0.13.3/bin:$PATH"\ntorsocks --shell' | tee -a /home/amnesia/Persistent/signal-cli_tor.sh && chmod a+x /home/amnesia/Persistent/signal-cli_tor.sh
echo -e '#!/bin/sh\nsudo dpkg -i jdk-21_linux-x64_bin.deb\nexport JAVA_TOOL_OPTIONS="-Djava.net.preferIPv4Stack=true"\nexport PATH="/home/amnesia/Persistent/signal-cli-0.13.5/bin:$PATH"\ntorsocks --shell' | tee -a /home/amnesia/Persistent/signal-cli_tor.sh && chmod a+x /home/amnesia/Persistent/signal-cli_tor.sh
```
```
## General use of `signal-cli` on Tails
## General use of `signal-cli` on Tails
**(aka steps required every time you want to use `signal-cli`)**
**(aka steps required every time you want to use `signal-cli`)**
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
2. Choose Applications ▸ System Tools ▸ Terminal
2. Choose Applications ▸ System Tools ▸ Terminal
<!--<details>
<!--<details>
<summary>
<summary>
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
</summary>
</summary>
3. Run the script for adding signal-cli signing keys to apt:
3. Run the script for adding signal-cli signing keys to apt:
```plaintext
```plaintext
Persistent/apt-keys.sh
Persistent/apt-keys.sh
```
```
and _Wait until additional software has been installed successfully_
and _Wait until additional software has been installed successfully_
</details>-->
</details>-->
<!--5. signal-cli-jre requires at least Java Runtime Environment (JRE) 17.-->
<!--5. signal-cli-jre requires at least Java Runtime Environment (JRE) 17.-->
4. Start executing the signal-cli script we created in the previous section:
4. Start executing the signal-cli script we created in the previous section:
```plaintext
```plaintext
Persistent/signal-cli_tor.sh
Persistent/signal-cli_tor.sh
```
```
6. Now you can run any `signal-cli` command, refer to [man page](https://github.com/AsamK/signal-cli/blob/master/man/signal-cli.1.adoc) for help.
6. Now you can run any `signal-cli` command, refer to [man page](https://github.com/AsamK/signal-cli/blob/master/man/signal-cli.1.adoc) for help.
**Replace $PHONE_NR with your phone number using the international format (e. g. +15758941234 for a number registered in Truth or consequences, New Mexico)**
**Replace $PHONE_NR with your phone number using the international format (e. g. +15758941234 for a number registered in Truth or consequences, New Mexico)**
_Tip: If you want to acquire an anonymous phone number for registering signal, one can do so using free temporary phone numbers for receiving text messages online. For example _**_https://quackr.io/_**_ is quite reliable service if you choose numbers of so-called "Western countries". Please note, that everyone can re-register your phone number with signal, revoking your access to your newly acquired number. Therefore _[_set a registration lock PIN_](#Registration-and-registration-lock-pin)_ immediately after successful verification. Receive/send messages **at least once every 7 days** in order to keep your number. _[**_Signal is changing the re-registration condition's forth and back_**](https://blog.privacyguides.org/2022/11/10/signal-number-registration-update/)_**, so this method might not work for keeping an anonymous phone number forever._**_ This is the reason why many of the freely available numbers can not be registered with signal w/o PIN, 'cause they already have been registered by someone else who subsequently set a registration lock pin. Be patient and keep trying either lately or old added numbers should do the trick._
_Tip: If you want to acquire an anonymous phone number for registering signal, one can do so using free temporary phone numbers for receiving text messages online. For example _**_https://quackr.io/_**_ is quite reliable service if you choose numbers of so-called "Western countries". Please note, that everyone can re-register your phone number with signal, revoking your access to your newly acquired number. Therefore _[_set a registration lock PIN_](#Registration-and-registration-lock-pin)_ immediately after successful verification. Receive/send messages **at least once every 7 days** in order to keep your number. _[**_Signal is changing the re-registration condition's forth and back_**](https://blog.privacyguides.org/2022/11/10/signal-number-registration-update/)_**, so this method might not work for keeping an anonymous phone number forever._**_ This is the reason why many of the freely available numbers can not be registered with signal w/o PIN, 'cause they already have been registered by someone else who subsequently set a registration lock pin. Be patient and keep trying either lately or old added numbers should do the trick._
## Registration and registration lock pin
## Registration and registration lock pin
1. Follow steps 1 through 4 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
1. Follow steps 1 through 4 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
2. Follow the steps on https://github.com/AsamK/signal-cli/wiki/Registration-with-captcha
2. Follow the steps on https://github.com/AsamK/signal-cli/wiki/Registration-with-captcha
3. You should set a registration lock pin, to prevent others from registering this number:
3. You should set a registration lock pin, to prevent others from registering this number:
```plaintext
```plaintext
signal-cli -a $PHONE_NR setPin "verysafepassword"
signal-cli -a $PHONE_NR setPin "verysafepassword"
```
```
_Tip: Use _[_KeepassXC preinstalled on tails_](https://tails.boum.org/doc/encryption_and_privacy/manage_passwords/)_ for generating and storing safe passwords._
_Tip: Use _[_KeepassXC preinstalled on tails_](https://tails.boum.org/doc/encryption_and_privacy/manage_passwords/)_ for generating and storing safe passwords._
### Additional Tips:
### Additional Tips:
- If you want to register a number which is only able to receive phone calls, add the `--voice` parameter to the register command:
- If you want to register a number which is only able to receive phone calls, add the `--voice` parameter to the register command:
```plaintext
```plaintext
signal-cli -a $PHONE_NR register --voice --captcha "signalcaptcha://signal-recaptcha-v2.someshortercode.registration.someverylongcode"
signal-cli -a $PHONE_NR register --voice --captcha "signalcaptcha://signal-recaptcha-v2.someshortercode.registration.someverylongcode"
```
```
- If the number was registered before and locked with a pin, use the `--pin` parameter during `verify` command:
- If the number was registered before and locked with a pin, use the `--pin` parameter during `verify` command:
```plaintext
```plaintext
signal-cli -a $PHONE_NR verify --pin "yourPIN" 123456
signal-cli -a $PHONE_NR verify --pin "yourPIN" 123456
```
```
## Provisioning Signal-Desktop & hardening
## Provisioning Signal-Desktop & hardening
(aka coupling signal-cli with Signal Desktop)
(aka coupling signal-cli with Signal Desktop)
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
2. _Wait until additional software has been installed successfully_
2. _Wait until additional software has been installed successfully_
3. Choose Applications ▸ System Tools ▸ Terminal
3. Choose Applications ▸ System Tools ▸ Terminal
4. In order to read the qrcode, we need the package `zbar-tools`, execute
4. In order to read the qrcode, we need the package `zbar-tools`, execute
4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
5. Start Signal Desktop: Go to [Activities Overview](https://tails.boum.org/doc/first_steps/desktop/index.en.html#activities), type `Signal` and click the icon to start.
5. Start Signal Desktop: Go to [Activities Overview](https://tails.boum.org/doc/first_steps/desktop/index.en.html#activities), type `Signal` and click the icon to start.
6.[Make a screenshot](https://tails.boum.org/doc/sensitive_documents/screenshot_and_screencast/index.en.html) capturing the Signal Desktop window showing the qr-code and safe the picture in `/home/amnesia/Pictures/qr.png`
6.[Make a screenshot](https://tails.boum.org/doc/sensitive_documents/screenshot_and_screencast/index.en.html) capturing the Signal Desktop window showing the qr-code and safe the picture in `/home/amnesia/Pictures/qr.png`
7. Open a new Terminal tab (top left + icon) or window (top right burger menu)
7. Open a new Terminal tab (top left + icon) or window (top right burger menu)
8. Get the qr-code link executing
8. Get the qr-code link executing
```plaintext
```plaintext
zbarimg /home/amnesia/Pictures/qr.png
zbarimg /home/amnesia/Pictures/qr.png
```
```
6. Copy the qr decoded link (`sgnl://…`) to the clipboard.
6. Copy the qr decoded link (`sgnl://…`) to the clipboard.
7. Follow steps 1 through 4 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
7. Follow steps 1 through 4 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
8. Add your Signal Desktop to signal-cli with the qr code link from step 6 (`sgnl://…`), executing
8. Add your Signal Desktop to signal-cli with the qr code link from step 6 (`sgnl://…`), executing
```plaintext
```plaintext
signal-cli -a $PHONE_NR addDevice --uri "sgnl://…"
signal-cli -a $PHONE_NR addDevice --uri "sgnl://…"
```
```
8. Signal-Desktop should ask you to name the device (internal designation)
8. Signal-Desktop should ask you to name the device (internal designation)
9. If everything was successful, Signal Desktop should be ready to use. You can obtain a list of devices using your registered signal no. executing:
9. If everything was successful, Signal Desktop should be ready to use. You can obtain a list of devices using your registered signal no. executing:
```plaintext
```plaintext
signal-cli -a $PHONE_NR listDevices
signal-cli -a $PHONE_NR listDevices
```
```
It should list your Signal Desktop with the name you set in step 8. among the master (signal-cli).
It should list your Signal Desktop with the name you set in step 8. among the master (signal-cli).
### Hardening
### Hardening
Use Settings to enable/disable features such as link preview, incoming calls etc. Recommended settings in terms of privacy are:
Use Settings to enable/disable features such as link preview, incoming calls etc. Recommended settings in terms of privacy are:
- Grant access to microphone only if using voice messages or voice calling.
- Grant access to microphone only if using voice messages or voice calling.
- Grant access to camera only if using video calling.
- Grant access to camera only if using video calling.
- Disable link preview.<sup>*</sup>
- Disable link preview.<sup>*</sup>
- Activate incoming calls only if you want to make Signal calls.
- Activate incoming calls only if you want to make Signal calls.
- Set calls to indirect.
- Set calls to indirect.
- Disable read receipts.<sup>*</sup>
- Disable read receipts.<sup>*</sup>
- Disable typing indicators<sup>*</sup>
- Disable typing indicators<sup>*</sup>
- Set a value for default disappearing messages
- Set a value for default disappearing messages
*These configurations can also be set using `signal-cli` (useful if you prefer a TUI like [scli](https://github.com/isamert/scli/) over a GUI like Signal Desktop):
*These configurations can also be set using `signal-cli` (useful if you prefer a TUI like [scli](https://github.com/isamert/scli/) over a GUI like Signal Desktop):
1. Follow steps 1 through 4 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
1. Follow steps 1 through 4 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)