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.11** and will not work on Tails 5.xx, so please make sure you are using an [**up to date Tails** OS](https://tails.net/doc/upgrade/)_.
_This guide has been tested with Tails OS versions **7.0** and will not work on Tails 5.xx, so please make sure you are using an [**up to date Tails** OS](https://tails.net/doc/upgrade/)_.
*This howto uses [Flatpak](https://flatpak.org) to install Signal and keep it confined.*
*This guide uses apt repositories for installing and updating signal-cli. [Every time Tails starts it installs and if you are connected also checks for updates on additional software](https://tails.net/doc/persistent_storage/additional_software/index.en.html#index3h2) and brings Signal Desktop up-to-date. No manual updates via flatpak for Signal Desktop needed anymore. If you have used this guide previously before September 24th, 2025, follow all steps and optionally [removing older installation from this guide](#remove-older-installation-of this-guide) to free up space.*
**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).
***Do NOT use the _Root Terminal_** or instructions won't work!
***Do NOT use the _Root Terminal_**if not explicitly asked for or instructions won't work!
* A working **internet connection is required** at every step of the howto.
* The packages included in Tails are carefully tested for security. Installing additional packages might break the security built in Tails, so [be careful with what you install](https://tails.net/doc/persistent_storage/additional_software/index.en.html#warning).
## Configure Persistent Storage
_If you want to use Signal Desktop only once and lose everything after shutdown/reboot skip to section [Install](#install-flatpak)._
If you want to keep Signal Desktop persistent, we need to set up the persistent storage accordingly:
1.**Create**[**Persistent Storage**](https://tails.net/doc/persistent_storage/create/) and keep the default features enabled. You may enable other options for your other needs
2.**Start Tails** with an [administration password](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
5. Enter this line in the terminal and press Enter to **setup persistent storage for Flatpak**:
~~~
sudo sed -i '$ a /home/amnesia/.local/share/flatpak source=flatpak\n/home/amnesia/.var/app source=var_app\n/home/amnesia/.local/share/applications source=applications' /live/persistence/TailsData_unlocked/persistence.conf
~~~
When asked, enter the Administration password set before.
6.**Restart** Tails with an [administration password set](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
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 3 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.
5. Choose Applications ▸ System Tools ▸ **Root Console** and use the password set in step 4.
6. In order to keep Signal Desktop's user data persistent, execute:
```plaintext
sed -i '$ a /home/amnesia/.config/Signal/ source=Signal' /live/persistence/TailsData_unlocked/persistence.conf
```
**If you already installed `signal-cli` following this guide or other additional apt repositories, skip to step 9.**
## Install Flatpak
7. Configuring additional APT repositories for Signal Desktop, create an apt-sources.list.d folder in your Persistent Storage:
1. Start your Tails with persistent storage unlocked and an [administration password set](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
3. Enter this line in the terminal and press Enter to **install Flatpak**:
~~~
sudo apt update && sudo apt install -y flatpak
~~~
When asked, enter the administration password set before (it will be asked twice).
4. When asked whether to add the packages to the persistent storage, choose **Install every time**[as explained here](https://tails.net/doc/persistent_storage/additional_software/#index3h2)
5. Enter this line in the terminal and press Enter to **add the Flathub repository to Flatpak**:
4. If you haven't done it already while installing another Flatpak from this HowTo, create a Desktop shortcut for conveniently updating and uninstalling unused Flatpak managed applications, executing the following in the terminal:
A new application called **"Flatpak-Update-Uninstall-Unused"** is now visible in the [Activities Overview](https://tails.net/doc/first_steps/desktop/index.en.html#activities). You should run it regularly to update your Flatpak applications.
9. Now we add the Signal Desktop apt repository to a new file `/live/persistence/TailsData_unlocked/apt-sources.list.d/signal-desktop.list` and set correct file ownership and permissions:
```plaintext
echo -e 'deb [signed-by=/usr/share/keyrings/persistent/signal-desktop-keyring.gpg] tor+https://updates.signal.org/desktop/apt xenial main' | tee -a /live/persistence/TailsData_unlocked/apt-sources.list.d/signal-desktop.list && chown root:root /live/persistence/TailsData_unlocked/apt-sources.list.d/signal-desktop.list && chmod 644 /live/persistence/TailsData_unlocked/apt-sources.list.d/signal-desktop.list
```
10. We need to download and add the Signal Desktop repo signing key to apt and persist it since [Tails doesn't support 3rd party repo keys](https://gitlab.tails.boum.org/tails/tails/-/issues/17510) natively:
1. Start your Tails with persistent storage unlocked and an [administration password set](https://tails.net/doc/first_steps/welcome_screen/administration_password/)
4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
5. Create a launcher enabling Signal Desktop to user Tor on Tails:
```plaintext
echo -e '[Desktop Entry]\nType=Application\nName=Signal on Tails\nExec=env HTTPS_PROXY=socks5://127.0.0.1:9050 /opt/Signal/signal-desktop %U\nTerminal=true\nType=Application\nCategories=Network;InstantMessaging;Chat;\nStartupWMClass=Signal\nComment=Signal Desktop via Tor\nIcon=signal-desktop' | tee ~/.local/share/applications/signal-desktop-via-tor.desktop
```
A new application called **"Signal on Tails"** is now visible in the [Activities Overview](https://tails.net/doc/first_steps/desktop/index.en.html#activities).
5. Close the terminal
...
...
@@ -70,7 +72,7 @@ If you want to keep Signal Desktop persistent, we need to set up the persistent
1. Start Tails with persistent storage unlocked
2.**Wait until additional software is installed** successfully
3. Go to [Activities Overview](https://tails.net/doc/first_steps/desktop/index.en.html#activities), type `Signal` and press Enter to start Signal Desktop. The icon is a generic one, not Signal official icon.
3. Go to [Activities Overview](https://tails.net/doc/first_steps/desktop/index.en.html#activities), type `Signal` and select `Signal on Tails` to start Signal Desktop.
4. Link to a device or with [signal-cli](../messengers-on-tails-os/-/wikis/Signal/Registration-and-Provisioning-via-signal-cli)(terminal) and enjoy :)
### Enable Microphone and Camera
...
...
@@ -83,7 +85,7 @@ If you want to keep Signal Desktop persistent, we need to set up the persistent
### Provisioning
1. Starting signal-desktop for the first time or after it has been unlinked by the primary device or after 1 month of inactivity, you need to link your Signal with the primary device.
1. Starting Signal Desktop for the first time or after it has been unlinked by the primary device or after 1 month of inactivity, you need to link your Signal with the primary device.
2. If your primary device is running Android or iOS, follow the official guide: https://support.signal.org/hc/en-us/articles/360007320551-Linked-Devices if the primary device is signal-cli, follow [the guide on linking signal-cli with signal-desktop on Tails](../Signal/Registration-and-Provisioning-via-signal-cli)
### Captcha Verification when rate limited
...
...
@@ -94,7 +96,7 @@ Using Signal Desktop via tor increases the chance of getting rate limited when s
2. Solve the captcha. A link `Open Signal` appears. Right-click the link and choose "Copy Link"
3. Open a Terminal, paste the following, and **don't press enter** (note the trailing single-quote):
Paste the previously copied link, and add a single-quote `'`, then press Enter.
4. The Signal Desktop window should show up and a small notification confirming the captcha should appear on the bottom left of the window.
...
...
@@ -102,4 +104,16 @@ Using Signal Desktop via tor increases the chance of getting rate limited when s
### Banner: _Open Signal on your phone to keep your account active_
1. If a Banner with _Open Signal on your phone to keep your account active_ appears, you need to connect your primary device's Signal with the Internet in order to prevent Signal Desktop from being unlinked.
2. If your primary device is Android or iOS, follow [these instructions](https://support.signal.org/hc/en-us/articles/9021007554074-Open-Signal-on-your-phone-to-keep-your-account-active). If your primary device is signal-cli, follow [these instructions](../Signal/Registration-and-Provisioning-via-signal-cli#every-now-and-then-receiving-messages-with-signal-cli).
\ No newline at end of file
2. If your primary device is Android or iOS, follow [these instructions](https://support.signal.org/hc/en-us/articles/9021007554074-Open-Signal-on-your-phone-to-keep-your-account-active). If your primary device is signal-cli, follow [these instructions](../Signal/Registration-and-Provisioning-via-signal-cli#every-now-and-then-receiving-messages-with-signal-cli).
### Remove older installation of this guide
1. Start your Tails with persistent storage unlocked