xorcist 3 years ago

I know this tiresome argument comes up every time Signal is mentioned, but there's an elephant there that seems relevant.

An totalitarian state would not need to run a packet inspecting firewall to find out who is using Signal. They have this information already in the plaintext SMS Signal broadcasts in order to collect verified phone numbers of their users. It is most likely in their power to turn off cell service for these endpoints, or even locate them and let the security service round them up.

It's a great service in many ways, but if you are revolting an authoritarian state, it's something to be careful of. At the very least, please be mindful of this and take care of yourself.

  • keewee7 3 years ago

    Signal has 100 million installs on Android alone. Arresting people for having Signal installed is not a scalable approach for a totalitarian state.

    • xorcist 3 years ago

      Not in Iran. Not during demonstrations. Not in Kurdish-dominated areas. You can narrow it down as much as you'd like.

      And while you'd think that senseless violence against civilians do not scale, times of civil protests in totalitarian regimes is not good time to be naive.

      Shutting down routing for the entire country is pretty much par for the course. There's not such thing as collateral damage when the regime itself gets scared.

    • masterof0 3 years ago

      Not in places like Cuba, where I know first hand, people who participated in the protest in July 11th where charged based on the apps the police and G2(Cuban FSB) found in their phones.

    • acdha 3 years ago

      > Arresting people for having Signal installed is not a scalable approach for a totalitarian state.

      Not all of those are in the same country, though, and it’s worth thinking about how the install base would change after a particular country banned an app. The first time someone gets an official warning a lot of people are going to say “not worth it”.

    • tux2bsd 3 years ago
      • sofixa 3 years ago

        I find your focus on totalitarian left peculiar. It's not like they were somehow unique - plenty of totalitarian regimes of all kinds have arrested and executed countless people for whatever.

        A few random examples:

        * Ottoman genocide of Armenians, on ethnic/religious grounds. The Ottoman Three Pashas regime was as far from left as possible, but plenty totalitarian.

        * US internment of "foreign elements", including those with US citizenship, during both World Wars. US was never even center-left, let alone farther, and totalitarian is a stretch. Less bad than the other examples here, but still.

        * The many White and Red terrors in the Interwar and post-WW2 years, where vague association was guilt and execution.

        * Of course Jews, Roma, Gypsy, dissident in Nazi concentration camps.

        * The Herero and Namaqua genocide by the rightist totalitarian-ish Imperial Germany.

        * UK mass internment of Boers. Not leftist, not really totalitarian.

        Need i go on? Why did you feel the need to pain totalitarian leftist as worse than any other totalitarians?

        • tux2bsd 3 years ago

          Your attempt to invalidate a statement with a another set of information is not useful. During the 1900s the left killed people on a scale never seen before in human history. I suppose I do question the psychological need you have to run defense for the left...

          • sofixa 3 years ago

            > Your attempt to invalidate a statement with a another set of information is not useful

            Unless that information makes the statement seem extremely biased, which it does?

            > During the 1900s the left killed people on a scale never seen before in human history

            And during the 1900s totalitarian rightist killed people on a scale never before seen in human history. Industrial murder factories, with brutal precision, murdering thousands per day by the trainload, with an assembly line of transportation, robbing, murder through poison gas, cremation? Never has humanity sunken so low. Brutal ad-hoc genocides of people murdering another group with their hands due to hatred or misinformation or whatever is more understandable and explainable than cold blooded mechanised precision mass murder on an industrial scale.

            Famines due to ethnic cleansing, stupidity, mismanagement and ignorance are aplenty. The Bengali famine is comparable to the Holodomor in scale and reasons, even if the Holodomor was probably more intentional. Nobody has done what the Nazis did at that scale.

            So yes, it's extremely stupid to single out totalitarian leftist regimes for their crimes against humanity, as if it's a uniquely leftist thing. It's obvious the people doing that have an anti-left agenda, which is honestly just being stupid.

            • tux2bsd 3 years ago

              The USSR, China, Cambodia, Vietnam... it looks like you're mistaking scale with events of lesser time frames and "singular" locations (i.e. Auschwitz, Treblinka, and so on under the Nazis).

              I wonder why you feel that it is necessary to attempt to be insulting?

        • tomohawk 3 years ago
          • jknoepfler 3 years ago

            The common factor in mass state murder is militant Facism. There's no right or left, there's a willingness to commit mass-murder and a violent takeover of the state. It's incontrovertible that democide was one of the worst forces of the 20th century, but bizarre and dangerous to associate it with some one-dimensional "left/right" projection of 21st century identity politics.

            Pol Pot, Mao, Hitler - these are figureheads that became objects of popular worship. If Monarchies were a thing, they would have been monarchs. If Theocracies were a thing, they would have been theocrats. If corporations were a thing, they would have been admirable profiteers.

            Violent self-righteousness is just that.

          • stephen_g 3 years ago

            I had guessed you were going to drop the ‘Nazis were socialist’ line, and there it is! The ‘National Socialist German Worker’s Party’ were about as socialist as the Democratic People’s Republic of Korea is democratic (that is, not at all…)

      • franga2000 3 years ago

        "the left"? You have to be joking! Even US cold war-era anti-communist propaganda wasn't lying this blatantly. Mass incarceration, execution, etc. are a "skill" of all totalitarian regimes, no matter what social/economic policy they happen to support. The church in the middle ages, kings in the era of absolutism, the Axis powers during WWII, regimes of warlords past and present, the various religious states that are doing the bulk of it today... all of these regimes censored, imprisoned and executed their opponents and few could be considered "left".

        • tux2bsd 3 years ago

          > throughout the 1900s

          You chose to ignore that, blathering on about the middle ages is off-topic.

          • franga2000 3 years ago

            The original comment was entirely arbitrarily limited to the 1900s, and as it brought "the left" into the discussion unprompted, I can only assume this was done intentionally to justify specifically going after left regimes. So firstly, I don't see why a counter-argument should stick to this arbitrary time frame, and secondly, some of my examples do in fact apply to this time frame too.

            • tux2bsd 3 years ago

              Like I said to the other chap, I do question the psychological need you have to run defense for the left...

  • mikece 3 years ago

    > They have this information already in the plaintext SMS Signal broadcasts in order to collect verified phone numbers of their users.

    This assumes one is using the phone number attached to the handset running Signal as their Signal number. Personally, I don't do this: I have used Google Voice and even a basic Twilio number that sends SMS messages to me via Email to register a number with Signal. There are many reasons to do it this way, not least of which is that I can publish my Signal number without needing to worry about people direct-calling my phone. Until Signal drops the requirement for a phone number (verified by SMS) to spin up service, this is the most secure way to use Signal.

    • pas 3 years ago

      I'm fairly confident that about 99+% of people that actually do anti-government shit have ever had the opportunity to use Google Voice or set up a Twilio number. (And one of the reasons for that is that these are mostly US & friends only services.)

    • ananonymoususer 3 years ago

      Governments can easily correlate GV numbers to mobile devices. I personally no longer trust Signal. Moxie's departure stinks like a canary.

      • mikece 3 years ago

        "Governments can easily correlate GV numbers to mobile devices."

        Google Voice doesn't need to be installed on a mobile device. I have my Google Voice accounts (yes, multiple) set to forward SMS to me via email.

        "I personally no longer trust Signal. Moxie's departure stinks like a canary."

        I never really trusted Moxie to begin with but events like this make me wonder all the more if Signal is really being run from Fort Meade. Fortunately for me I used Signal as my "non-secure" messaging platform and use other messenger options for secure comms.

        • niel 3 years ago

          > ...events like this make me wonder all the more if Signal is really being run from Fort Meade.

          Which events are you referring to here?

        • Melatonic 3 years ago

          "Moxie" just seemed so hilariously stereotypical in the first place I could not help but think it was all BS. The name, his style, his online blogs.....maybe he just wants to craft a certain type of image but it seemed a little too perfectly matched to the type of person who would create a free, easy to use and super secure messenger.

          Personally I really liked Wickr Messenger (no phone number required) but they were recently acquired by AWS :-(

          edit: Also looking up Wickr now it seems like they ended up specializing in providing secure messaging FOR the government (and even are the only ones to pass some NSA specific test) so maybe that was not the best choice.....

      • simfree 3 years ago

        Use a truly disposable service like https://yoursecretnumber.com instead of Google Voice. This gives you a number with an OCN type of Wireless as well, instead of one that shows up as IPES (IP enabled Service Provider) or CLEC like Bandwidth.com and nearly all VoIP numbers.

  • Tepix 3 years ago

    The state probably knows who signed up to use Signal, Whatsapp, Viber or some other service back when it was legal to do so. So what?

  • nibbleshifter 3 years ago

    Signal have been promising vaguely to move away from using phone numbers for... A really long time now.

  • badrabbit 3 years ago

    That's what a security model is for, the best you can do is difficult security/privacy not absolute or perfect.

    I don't get this "totalitarian state" b.s., subverting legitimate government's policies seems silly and dangerous. If I was a dictator or something I would have people's phone's searched randomly by street cops, if they see signal then you are a subverter and a traitor so off with your head. I can't imagine security against that.

    Security and privacy against nation state actors are one thing but against your nation state actor is a whole different ball game.

    • darawk 3 years ago

      Security against random searches is easy. There are plenty of ways to hide an app behind something innocuous, e.g. requiring a particular input sequence known only to the user to open the app.

      • badrabbit 3 years ago

        Plausible deniability is what you mean. It is until it isn't (if it is scanned by something "smart" or purpose made).

macns 3 years ago

Why do I need Docker for such a simple task? From their blog:

> The proxy is extremely lightweight. An inexpensive and tiny VPS can easily handle hundreds of concurrent users. Here’s how to make it work:

    SSH into the server.
    Install Docker, Docker Compose, and git:
I'm sorry but installing Docker on a tiny VPS last time I checked wasn't any light at all.
  • tecleandor 3 years ago

    It's a simple way of running something quickly and without touching the rest of your system (if you already have Docker installed)

    Anyway, the proxy is just an nginx with a custom config file. You can check that file and just add it yourself to an nginx you manage, probably with little changes.

    https://github.com/signalapp/Signal-TLS-Proxy/blob/main/data...

    • sooyoo 3 years ago

      > It's a simple way of running something quickly and without touching the rest of your system

      Providing a statically linked binary is even simpler, without all that extra complexity that comes with docker.

      • jSherz 3 years ago

        This project wraps existing software (e.g. nginx) to function. It's not as simple as providing a binary.

  • Caligatio 3 years ago

    I'm also confused about the Docker hate here. The daemon itself is lightweight and the Docker-ized process(es), once running, have negligible overhead compared to running them natively.

    I didn't look at the image size but you might be paying a ~100 MB storage penalty to bundle dependencies.

    • pooper 3 years ago

      For my fedora people,I just want to remind them that whenever anyone says docker, you can safely use podman (or at least that is the goal).

      It won't be rootless in this case as far as I know because you will need privileged ports 80 and 443 but good habit in general.

      • jacooper 3 years ago

        You can allow unprivileged apps to use privileged ports, its just a simple sysctl edit.

    • metadat 3 years ago

      It's actually more than negligible, docker containerization tends to impose limits, tracking, and network overhead on processes, which all have some overhead and penalty on performance.

      On beefcake supreme machines it's just usually not significant enough to worry about, because the perceived benefits outweigh the downsides.

  • killingtime74 3 years ago

    Docker images are just tarballs no? There’s almost no overhead at runtime. Of course you could fork it

    • masklinn 3 years ago

      There is some performance overhead from the configuration Docker uses for the containers, as well as some of the historical behaviour (not sure if they still apply)

      - if you use docker nat, it about doubles connection time, if you only have extremely short connections this can be quite visible.

      - If you need FS access, this can come at a high cost depending on your usage pattern, docker’s layered FS is not cheap.

      - Finally Docker enables features which don’t come for free and which you may not be enabling separately e.g. seccomp (this can result in a 15+% performance hit in the worst case)

  • kitd 3 years ago

    I've put Docker onto small VPSes. It's no hassle. The heavy part is Nginx. Adding the container on top won't be making much difference to the size.

  • tsujamin 3 years ago

    pretty sure you can run docker on a $5 vps with plenty of headroom left

    could it be done leaner? sure

    is it worth it if it raises the barrier of entry of getting people to run the proxy? doubtful

    • hosteur 3 years ago

      A single statically linked binary would not raise the barrier of entry. Quite the opposite.

      • franga2000 3 years ago

        What if you're running on an ARM VPS? Now there are 2 binaries. What if you're running e.g. Alpine? Now you need 4. Which init system do you provide startup scripts for? You need an install script too. And what if you just want to try it on your Windows/Mac computer? Need to manually set up a VM.

        Meanwhile, you can just install Docker, which you might already have if you do self-hosting often, and run one command. The overhead of containers is tiny, so you really won't notice it. Bonus points for using Podman, which doesn't even have a daemon.

      • sofixa 3 years ago

        But you also need to provide a systemd service for it. And statically linked against glibc or musl?

        • monocasa 3 years ago

          you need to provide a systemd service for a docker image as well, the restrt policies leave a lot to be desired for a host that itself can restart.

          glibc doesn't support static linking, so it's probably going to be musl. Running a musl binary on an otherwise glibc system isn't an issue.

  • Bayart 3 years ago

    > Why do I need Docker for such a simple task?

    Containers are more consistent and have less side effects than packages.

    > I'm sorry but installing Docker on a tiny VPS last time I checked wasn't any light at all.

    There's very little overhead and it takes a one liner[1] to install it.

    [1]: curl -sSL https://get.docker.com/ | sh

  • tomohawk 3 years ago

    Whenever I see a docker compose based install, it's clear that the installation wasn't thought through very well. Inevitably, these installs are more complicated and less reliable than a finished product.

  • cpach 3 years ago

    Do you have any data to back up your claim about the overhead of using Docker?

  • peppermint_tea 3 years ago

    just installed it in lxc without docker... works like a charm.

  • toomuchtodo 3 years ago

    time > compute resources. Docker up/compose and on with your day.

  • 7v3x3n3sem9vv 3 years ago

    stood up a Signal proxy on a VM with the following specs:

    - Single core 1GHz CPU - 640 MB RAM - 10 GB storage ( default size )

    I'd say docker is pretty light.

politelemon 3 years ago
  • joosters 3 years ago

    Thank you! This would be a much better link than the github repo.

    There are so many project READMEs out there that never bother to explain what the code is or does, it's frustrating.

  • erikkri 3 years ago

    Couldn't it be a problem that Iran or someone else with connections to the regime run a proxy themselves to find people using Signal?

    • alpha64 3 years ago

      They already know people who are trying to access signal without a proxy, so I don't think this would make a significant difference. Also note that from the Signal Blog post above:

      ----

      The Signal client establishes a normal TLS connection with the proxy, and the proxy simply forwards any bytes it receives to the actual Signal service. Any non-Signal traffic is blocked. Additionally, the Signal client still negotiates its standard TLS connection with the Signal endpoints through the tunnel.

      This means that in addition to the end-to-end encryption that protects everything in Signal, all traffic remains opaque to the proxy operator.

      ----

    • residualmind 3 years ago

      It doesn't seem to be the same situation with tor exit nodes, where your node is automatically on the system. Here, it looks like people have to actively use your proxy; it tells people who run a proxy to share a URL with their friends.

      Probably helpful context: [Help people in Iran reconnect to Signal – a request to our community] https://signal.org/blog/run-a-proxy/

      • lkuty 3 years ago

        And that brings the difficulty of letting your proxy be known to legitimate interested people if your iranian social presence is non-existent. I ran a Tor node (not an exit one) in Germany back in the days (it was to help iranian people).

    • tus666 3 years ago

      Yes. It's always a cat and mouse game. Whether they are actually smart enough to think of it is a different question.

      • ReptileMan 3 years ago

        A regime that has survived 40 years facing constant adversary and the majority of time under sanctions should be competent enough at internal security.

        And the people that are protesting and hurting right now are not the most tech savvy one - so expect a lot of naivete about opsec. I doubt that the majority of them even know signal exists.

breakingcups 3 years ago

Does starting the proxy automatically add it to some proxy list that gets (partially) distributed to users or does running a proxy like this only help if I distribute the proxy to people?

Would some network analysis then not clearly indicate the social graph of people by virtue of connecting the dots of who connects to which proxy domain?

  • augustl 3 years ago

    You have to distribute it yourself, there's no automatic distribution on Signal's part.

colordrops 3 years ago

Why didn't this come out when China blocked Signal? And what is Signal doing about China blocking Signal's phone verification system? Can't talk to my parents-in-law in China now without installing that spyware WeChat.

  • imdsm 3 years ago

    I mean, unfair to put expectations on Signal to solve problems (especially right away). It could be that the solution didn't occur to someone until recently.

    • colordrops 3 years ago

      They've had years to get rid of of needing a phone number and they've talked about it for years. It's arguably a bigger issue for many that internet blocking, as that can be trivially worked around with a VPN or proxy.

  • Dobbs 3 years ago

    Signal seems to have had the proxy for a while. I'm guessing that China blocked them, they started developing this, released it, Iran blocked them, they signal boost this feature off the back of the second blockage.

cimnine 3 years ago

I wonder why they use nginx, and not Caddy or similar. Some service, which would handle all the certificate stuff natively, without having to deal with an extra script for certificates and without having to ensure that certbot runs from time to time.

asim 3 years ago

Trying to understand the rationale here. So Iran are blocking WhatsApp and other messaging services by blacklisting IPs or filtering the traffic? Is the idea that people will connect to random proxy nodes for signal that will circumvent this blocking?

Edit: as a follow up question. Do the people of Iran need messaging access to people outside of Iran or more likely their friends and family within Iran. Most of these messaging services are centralised so blocking them means cutting off communication within the country as well. Maybe they'd benefit from running private messaging servers themselves?

  • gsatic 3 years ago

    Yup family or friends abroad can run the proxy. Its not straightforward for govt to find the proxies if their addresses are privately shared.

    • asim 3 years ago

      How do you tell them the proxy exists?

      • Dobbs 3 years ago

        This is discussed in the blog post (which probably should have been linked instead of the git repo) https://signal.org/blog/run-a-proxy/

        • asim 3 years ago

          I think that just sort of says, hey share this signal.tube link or use a hashtag on a public channel like Twitter. When they say DM or use a private channel to distribute it my question is, what are those channels? What if those are also blocked?

jhoelzel 3 years ago

maybe this is a moot question, but if there is an embargo on iran and you host a proxy like that, are you, as an american, not commiting a crime?

The way I understand it people need special licenses in order to operate in iran (meta) and therfore the probability of being sued is very high?

  • kuyan 3 years ago

    Some user on reddit claims that there is a carveout for proxies like these in the US: https://www.reddit.com/r/technology/comments/xlhe0k/comment/...

    The Treasury source they cite (https://home.treasury.gov/news/press-releases/sm0322) seems to check out:

    > Section 560.540 of the Iranian Transactions and Sanctions Regulations (ITSR), 31 C.F.R. Part 560, authorizes the exportation from the United States or by U.S. persons, wherever located, to persons in Iran of certain publicly available, no-cost services incident to the exchange of personal communications over the Internet and certain publicly available, no-cost software necessary to enable such services.

  • killingtime74 3 years ago

    Usually legal jurisdiction goes with geography. There are Exceptions (crimes against humanity, sex tourism things). If you host it outside Iran and you are outside Iran, then it’s just a theoretical crime?

    extra territorial example: it may be a crime to do things/speak ill of a foreign government. If you lived there you’d get arrested. What if you did this while sitting in your bedroom overseas?

    • Dobbs 3 years ago

      This doesn't seem accurate. US Citizens/Residents/People who travel into the US who do many types of business with Iran can get into legal trouble. The person you are responding to is asking if that would apply here.

      • killingtime74 3 years ago

        Ah in that situation, your trouble would be with the Iranian government when you travel back to Iran? Of course countries can generally pass laws that do anything (they can execute people no?). In western legal tradition extra territoriality is reserved for special situations. In places like Iran where the rule of law is weak it does not apply.

        But then in that sense Iran can do whatever it wants once they get their hands on you, laws or not

        • asdfaoeu 3 years ago

          They are saying American law prohibits it.

    • sofixa 3 years ago

      Sadly, that's not how American sanctions, or law in general work. They claim extraterritorial jurisdiction over the whole world, and whoever and wherever you are, you might get in trouble with them for violating their sanctions or laws. FFS they give themselves the right to invade any country that dares put their war criminals on trial.

      E.g. BNP Paribas, a French bank, were fined for doing business in Iran. A Ukrainian was extradited from Poland to the US for hosting a pirate website.

  • tssva 3 years ago

    Exportation of software or services to facilitate personal communications of Iranian citizens is allowed under a general license as long as it is provided at no cost. General license means it does not need to be applied for.

windexh8er 3 years ago

As a slight aside one would think that running a proxy you'd want to install Docker so you're getting the latest bits. Considering compose is now a plugin and base repos are often way behind on Docker versions I always point people to leverage the convenience script that Docker provides [0].

[0] https://get.docker.com

arianvanp 3 years ago

Is there a technical reason why this only works on Android and not iOS?

  • augustl 3 years ago

    It works on iOS, you just have to add the proxy manually via settings.

    • reefdog 3 years ago

      Could you detail how? Slack/iOS didn't accept my `https://signal.tube/#{redacted}` address in the Proxy Address field. Do I just enter my server's IP address?

      I know Android is much more popular in Iran, but I wanted to give my friends instructions for both platforms, just in case.

      • reefdog 3 years ago

        Oh, lol, you just enter your domain name as the proxy address. Neat! (Or you just click that URL and it bounces you into the Signal app. I assume the only different between the iOS and Android versions here is that the Android version can capture that request before it goes to the browser, which is probably more secure from a government/firewall perspective.)

  • bjord 3 years ago

    just a guess, but maybe it has something to do with the fact that the link is never actually handled externally? as in, the signal.tube domain is never resolved, it may as well just be a string

Lurkars 3 years ago

Can anyone here give quick example how would how this on a server already having Apache on port 80 and 443? Can this be proxies through Apache?

autoexec 3 years ago

If people in Iran could find themselves in trouble for using Signal I'd strongly advise they avoid it and look for some other solution.

Ever since Signal started collecting and permanently storing sensitive user data in the cloud (your name, photo, number, a list of everyone you contact using Signal) it's become much more dangerous for people who want to protect themselves and the people they are in contact with. Because Signal insists on keeping your contacts in the cloud it's possible in some cases for someone to collect a list of your contacts simply by brute forcing a 4 digit pin.

It would be horrible to end up in trouble or see your friends and family hurt because Signal wasn't forthcoming about the fact that they were collecting your info and keeping it on their servers.

  • kijiki 3 years ago

    > Ever since Signal started collecting and permanently storing sensitive user data in the cloud (your name, photo, number, a list of everyone you contact using Signal)

    None of this FUD is true. None of the information you listed is collected or stored by Signal. You can verify this yourself by looking at the various government warrants and subpoenas, and Signal's responses: https://signal.org/bigbrother/

    • autoexec 3 years ago

      > None of the information you listed is collected or stored by Signal.

      That's a lie. I don't blame you for not knowing the truth though, Signal has gone to some trouble to make things unclear, but reality is reality.

      Signal has the data, but they've set up their system in a way that would require either an exploit (we've already seen examples of these) or a brute force attack to get the data requested and it's doubtful that a standard subpoena would compel them to use those methods. That said, it does leave the data vulnerable to the NSA or any other three letter agency who is willing to employ those types of methods. Signal would surely not be posting about any national security letters they were handed on their website.

      Similarly anyone who can guess or brute force a four digit pin could also get the data of some users. I've posted other links with more information on all of this further down, you can check my recent comments for them, but here's this to get you started.

      https://www.vice.com/en/article/pkyzek/signal-new-pin-featur...

      • 7v3x3n3sem9vv 3 years ago

        if you're paranoid don't use a 4 digit PIN. use a passphrase. problem solved

        • autoexec 3 years ago

          Problem solved as long as you're threat model doesn't include three letter agencies within in the US and you don't mind that a company you're supposed to trust. and which promotes themselves to people whose freedom and or lives are on the line, isn't honest with their users about the risks of using their service.

          The very first line of their privacy policy reads: "Signal is designed to never collect or store any sensitive information." which is demonstrable false. They've ignored requests to update it. (https://community.signalusers.org/t/can-signal-please-update...) I don't think you need to be "paranoid" to suspect it's probably better not to use their software when your privacy/security is critical to safety of yourself or your loved ones.

  • croes 3 years ago

    >Ever since Signal started collecting and permanently storing sensitive user data in the cloud (your name, photo, number, a list of everyone you contact using Signal.

    Since when?

  • egberts1 3 years ago

    Whoa!

    In Signal, Contacts’ multiple phone numbers are strictly computed each into its hashed value before only hashes of contacts being store on Signal. You can always turn that off via “Settings->Chat->Share Contact with iOS/Android” option (and it is recommended but it puts the onus of adding contacts on you, which is fine for OpSec mode). Failure to turn that off and you also get that “surprise” User just joined Signal message.

    Metadata of you being stored on Signal server can be just a single user ID and heavily-ratchet encrypted before sent over network. But you would have to clear/omit your primary self contact info at OS level also.

    Avatar Photo of you is problematic. Easiest not to use it in the first place. Turn off “Settings->Chat->Use System Contact Photos” option as well.

    once settings are done, relevancy of PIN is reduced to (rubber-hose) OpSec and remaining forensic footprint (outside of User ID) to just within your Phone and others’ phone (and not the server, much less over network).

    Turn everything off under “Settings->Privacy->Advanced” except “Circumvention” and only this one under extreme Internet duress.

    What is painfully clear is while the cleartext content of your message is never stored on Signal server in any form at most states and never has your key to these content (a good thing), the association with other User ID remains forensically extractable, which is why burner phones are most helpful there there. This is where “timer” for deleting message can protect you even further (less the phone falls into the hand of an adversary within that period before timed message deletion).

    If you do not mind the obtuse associativity with others, this app is excellent in keeping the actual content of your conservation off of and away from servers, network, and nation-states outside of said phones involved. Which is just fine for me and my family and close friends.

    If you are striving for absolute anonymous in the area of association with others, I weakly recommended Telegram but the message is plain as day and can be read by nation-state simply because Telegram holds the encryption keys of yours.

    In short, you have only one choice:

    - near-absolute anonymity of message content

    - near-absolute anonymity of association

    It remains a hard problem.

    • autoexec 3 years ago

      > Contacts are strictly computed into a hashed value before only hashes of contacts being store on Signal.

      Wait, are you saying only a hash is ever sent to signal's servers and stored there? How then are you able to install signal on a totally new device and have your contacts downloaded to it? You seem to think this is about contact discovery, but the data collection was about contact recovery. I've got links in other comments that describe this usage.

      Data is uploaded as soon as you set a pin or opt out of setting one. If you do disable "everything" under “Settings->Privacy->Advanced” is all of the data that has been uploaded to the cloud then deleted?

      • egberts1 3 years ago

        And setting PIN? It’s kept within the phone’s secured memory (but NOT stored properly in the secured memory of desktops’ three main OSes).

        PIN is Not easy to extract in phone OSes, digital forensically or not, except perhaps with a rubber hose.

        Sure, PIN may not delayed at bad guesses. But PIN is only there to prevent casual borrower from changing Signal preference or prevent some form of evil-maid tactic.

        Signal PIN is not designed nor intended to be a prevention mean during interrogation but to keep those settings in maximum privacy mode. This PIN is an excellent complement to OpSec array of protections while using Signal app.

      • egberts1 3 years ago

        By the virtue of having OS-based contact.

        Which is why you disable contact.

        It asked up front if you want Signal to access contact at install time.

        If you say yea, then only a hashed value of each phone number found in each contact is sent. Nothing else from each and all of your contacts in your contact address book.

        If you say no, then nothing of contact address book is looked at.

        In a new phone, typically contact address book is empty.

        If backup is restored at new phone, then it becomes important to ensure that you say no at Signal install time when prompted and asked for permission to access your contact address book.

        • autoexec 3 years ago

          Okay, so you're saying that if I install signal and don't give it access to my contacts (at the OS level) then when I manually add contacts in Signal itself, those never get uploaded to SVR or to storage service as anything other than a hash and those contacts can no longer be recovered in Signal using SVR?

          For example see:

          https://community.signalusers.org/t/faq-signal-pin-svr-kbs-s...

          https://community.signalusers.org/t/what-contact-info-does-t...

          I haven't seen that documented anywhere. Do you have a source?

          • egberts1 3 years ago

            Correction. ONLY the contacts WITHIN Signal contact address book is used.

            Signal contact address book is wholly kept separate from your phone OS contact address book, even when you say yes to permission to share the OS contact address book.

            If you say no to the sharing of contact, then ONLY those contacts created WITHIN Signal’s own contact address book would have each Signal contact’s phone number as numerically big-hashed (within your own phone), then only those hash value of your limited Signal contact address book would be (naturally) sent to Signal server.

            This is why I said “if you don’t mind the obtuse associativity”. And that is OK for most OpSec.

            What is most important here is whatever you typed, only that other contact’s phone would be able to see this, no place else. That is, until the adversary gets their hand on one of the phone before its timed message deletion period.

            This is all in the source code here

            https://github.com/signalapp/Signal-Android

            • egberts1 3 years ago

              As to the SVR and a defined PIN that activates this, this is really an “ultra-bleeding-edge super nation-state” issue. Not many can crack the SVR (outside a few professors of cybersecurity).

              In the short term, preserving association seems paramount over the longer-term required to crack SVR … regularly.

              I’m using PIN (and thusly SVR) because most of my contacts within Signal contact address book are named with family nicknames). So, SVR is filled with avatar, phone, last access, creation time, and its computed hash UserID values is that weak point but SVR is not that weak enough to prevent its practical usage for near-perfect message content anonymity. That’s why I ask family members not to bother with avatar and keeping real name off of OS primary user contact info.

              If you are pushing the envelope of OpSec, then disabling PIN is fine too.

              It doesn’t matter as long as the phone is not in the hand of adversary but steps above will make it harder, forensically.

              https://blog.cryptographyengineering.com/2020/07/10/a-few-th...

              • autoexec 3 years ago

                If I were in Iran, disabling the pin seems like the best bet. Doing that would still cause my data to uploaded to storage service, but the only people who could access it at that point would be Signal employees or some three letter agency in the US. Same with any data you allow to be uploaded via private contact discovery.

                It seems like the real problem for someone in Iran would be SVR since if you were suspected of breaking the law they could brute force your pin and get a list of your contacts then go after them. Well, I'd also consider it a problem that signal will promote itself to people whose freedom/lives are at risk without being upfront and very clear about the risks.

                The very first line of their privacy policy is "Signal is designed to never collect or store any sensitive information." which is a lie, and the details surrounding this change to start collecting user sensitive data in the cloud was communicated so poorly that to this day many (most?) users are entirely unaware it's taking place, or uncertain about how it works. See for example: https://old.reddit.com/r/signal/comments/htmzrr/psa_disablin... and the OP in that thread. I can't imagine a larger red flag. That's why I suspect that signal is telling its users as loudly as they can the service is compromised. although I do wish they'd stop promoting the app to highly vulnerable people who are at real risk if their contacts are discovered.

      • egberts1 3 years ago

        As to “Settings->Privacy->Advanced”, the un-intuitive part is disabling everything maximizes your privacy.

  • chekibreki 3 years ago

    That’s some lazy FUD. But even if that were true and the contacts weren’t encrypted and PIN entry not rate limited: What do you propose as an alternative?

    • autoexec 3 years ago

      It's true. I've provided some relevant links elsewhere in this discussion.

      As for alternatives, I really don't know enough about the situation in Iran to say what would be safe. After they stated collecting data I personally switched to Jami for secure communications, but I'm not a whistleblower or a journalist or a freedom fighter or anything and to be honest, I haven't found anything as polished as Signal that handles both secure messaging and plain old SMS/MMS. I was a fan. It's been years and I'm still hugely disappointed.