
Disappearing messages for Signal - iddqd
https://whispersystems.org/blog/disappearing-messages/
======
lqdc13
I love Signal and this seems to be a stab at Wickr since from what I've heard
that is the reason people prefer it to Signal sometimes. Having said that, it
has a couple of problems:

1\. Images are downsampled without warning. There should be some sort of
warning or mini info box for the times when the images are downsampled and
there should be information about the changes in resolution.

2\. If one uses it as the main messaging app, one has to search through
history sometimes. But there is no chat search feature. I am forced to scroll
all the way up and copy the message data to an editor. Even really basic case
insensitive search would be great.

~~~
drew-y
It'd also be nice if the iOS or Chrome client had a chat history backup
feature like they have on android. This is one of my biggest complaint with
messaging apps in general. I'd like to be able to preserve and archive my chat
history with people close to me.

~~~
1024core
What if the person you're chatting with does not want it archived? (I'm not
questioning, but wondering what a protocol would be)

~~~
SideburnsOfDoom
Suppose that you are chatting to me. You don't want your messages archived in
any way.

I really want to keep records, so I have a second device, and take a picture
of the screen every time I get a message of you.

There is no software or protocol that can entirely eliminate this human
problem. The two parties have to have some level of agreement and trust.

~~~
shshhdhs
This is also why Data Loss Prevention software is truly useless in an employee
environment. Sure it can spot you forwarding email, but I can take a picture
of the email with my phone.

------
subliminalpanda
Signal keeps getting better with each release, great job at everyone from
Whisper Systems.

~~~
MereKatMoves
I love using Signal and will continue to make modest donations, but I would
really appreciate an improvement in audio call quality. I still use Silent
Circle for calls because it is so tiring to talk when the bitrate is low.

~~~
StavrosK
> I still use Silent Circle for calls because it is so tiring to talk when the
> bitrate is low.

To be fair, that's a high bar. Our (SC) phone guys are masters at optimizing
audio quality. I would be extremely surprised if any other app (encrypted or
not) had significantly better audio quality than Silent Phone.

~~~
walterbell
Wire's audio quality is quite good, even on cellular and/or VPN. Haven't
compared with Silent Circle.

~~~
StavrosK
Oh, I'll give that a go, thanks! I should try Signal again too, hopefully
audio quality has improved from the Redphone days.

~~~
secfirstmd
Yeh it definitely has come on a lot since then

------
countingteeth
> Hexadecimal isn't compatible with all alphabets, so it left a lot of people
> out.

Not ... really. Latin characters are available in every locale. Virtually
anyone literate enough to use signal is going to distinguish the latin letters
A through F. You reading this, I'm assuming you're not literate in Greek, but
can you distinguish the letters α, β, γ, and δ, even if you cannot name them?
Don't bring up CJK; virtually no one in this day and age is functionally
literate in any CJK language that can't read the Latin alphabet.

Let's take the hypothetical person literate in another script who is
completely unfamiliar with the letters ABCDEF. They don't use our arabic
numerals either. If you need to localize arabic numerals, why on earth
couldn't you localize hexadecimal, too?

Obviously, hexadecimal is not friendly to the layperson as a means of
representing numeric quantities. But neither is comparing two 60 decimal digit
numbers as a means of authentication. I don't think it's inherently easier for
a layperson to match 60 decimal digits versus 50 hexadecimal digits.

------
secfirstmd
How to donate to Signal!

[http://support.whispersystems.org/hc/en-
us/articles/21294015...](http://support.whispersystems.org/hc/en-
us/articles/212940158-How-can-I-donate-)

------
libeclipse
I'm not sure that this is a benefit. It gives users a false sense of security.
Screenshots or pictures can always be taken on the other end.

Didn't signal used to be explicitly against this feature.

~~~
oconnore
If their sense is that -- after configuring 1 week self destruct, the people
they're talking to likely won't be keeping months and months of chat logs on
their phone anymore -- it's a very true sense of security.

~~~
rorosaurus
At least until the Jailbreak tweak is released with patches out this feature,
allowing people to retain everything they want.

I don't disagree that it works for the average user, but I do agree with the
sentiment that it is a false sense of security.

Unless maybe you cryptographically verify the deletion (is that possible?) and
notify the other party of the successful deletion. But even then a copy could
be made beforehand, on-device or with an external camera...

I think it's much better to maintain zero expectation of message destruction
with all end users.

~~~
saurik
Yeah: I kind of want to release such a hack just to make the point (even
though I do not use this program nor do I know anyone else who does). This is
simply lying to users :/.

------
jpt4
With all due respect, Open Whisper Systems might ought first consider fixing
Signal's multiplicate message problem, especially silent (to the sender) group
chat spamming.

~~~
soared
>multiplicate

I'd never heard this word so I looked it up. Google didn't have a definition
but merriam-webster was the first result. They showed me an extra concise
definition and then this message...

>Wait, there’s more! This word doesn't usually appear in our free dictionary,
but we’ve shared just a bit of the information that appears in our premium
Unabridged Dictionary. There’s more definition detail there. Start your FREE
Trial Now!

Umm.. Fuck you Merriam-Webster?

~~~
schoen
There's something weird about that marketing angle coming from a dictionary;
it seems somehow at odds with the notion of completeness that we associate
with reference materials. Like "there are secret words that only paying
customers get to know about", or something?

~~~
majormajor
Less- and more-comprehensive versions of dictionaries is a long-standing
thing. And you've usually had to pay for all of them—I think it's weirder that
you'd expect to have a fully-complete version of something that takes a lot of
expert knowledge and time to put together for free.

~~~
schoen
It's interesting to think about it this way. I do have dictionaries of
different sizes that I've paid for, yet somehow the differences between them
didn't strike me the same way this marketing campaign does.

~~~
majormajor
Good point, the internet does make the upsell much much much more in-your-
face.

~~~
samatman
It's more than that; I'm old enough to have carried a compact Spanish-English
dictionary while traveling. An unabridged dictionary was heavy enough that you
couldn't hold it in one hand.

In other words, there used to be such a thing as 'too much dictionary'. Now,
like any other information source, it's the size of my phone, except when it's
the size of my laptop.

~~~
thaumasiotes
They still vary greatly in quality and (accordingly) price.I have several
chinese/english dictionaries installed through Pleco (on my phone). With a
couple exceptions, they're not free.

When I was taking a formal class in Mandarin, some classmates complained, "the
definitions you're getting from Pleco are so much better than ours! What are
you doing differently?" They lost interest when I responded "I paid for the
better dictionaries".

Different dictionaries have different strengths. CC-CEDICT has entries for
standard Chinese versions of western names, and for slang. Then again, it
doesn't even have usage examples. ABC has many, many entries, including stuff
like technical terms in linguistics. Tuttle Learners' has very few entries
(it's a learners' dictionary!), but it does nice things like provide antonyms
and, where it might be helpful, character-by-character glosses. Tuttle has my
favorite entry for 糟糕 [a mess/very bad/bad luck], headed by "[modif: 糟 messy +
糕 cake]".

------
newman314
I'm not sure I like the UX for the disappearing messages. Having a little
hourglass after every message breaks the flow up. I'd rather see the message
bubbles be black instead of blue.

It's also not intuitive to tap on a recipient's name to enable disappearing
messages.

Lastly, maybe messaging should default to 1 week disappearing messages...

~~~
lettergram
I was thinking that too.

I actually want my messages to just be deleted every month, but w.e. I'll take
it.

------
Zhenya
Everytime there is an update, I become more emboldened to continue to push my
friends from whatsapp to Signal.

I just wish we had way to see what's going on in their server.

~~~
uph
[https://www.whispersystems.org/bigbrother/](https://www.whispersystems.org/bigbrother/)

[https://github.com/WhisperSystems/TextSecure-
Server](https://github.com/WhisperSystems/TextSecure-Server)

~~~
mi100hael
The fact that their phone server isn't free makes me somewhat more concerned
as time goes on. I used to think it was just because they were busy, then I
thought maybe they just wanted more time to refine things, but now it's been
nearly two years since they released the current re-vamped Signal 2.0 for iOS
and over a year since releasing Signal for Android. At this point I'm running
out of justifications for them for why their phone server is still proprietary
& closed source.

~~~
Zhenya
I keep thinking about this concept of a "glass server".

They can run it, but allow developers to somehow see running processes, and
write (rate-limited) queries to test things.

I haven't solidified this concept in my head but it seems like a step towards
federation without the problems of federation.

~~~
mi100hael
Hmm that's an interesting idea. I'm assuming their phone server is Java, same
as their text server, so the builds should theoretically be identically
reproducible for both. It seems like it should be possible to include a field
in each response with some sort of signature so users can verify which build
is serving requests. It'd have to be in every response so that they can't just
reverse-proxy /status to the valid build and serve other requests from a
modified build, and it'd have to be somehow dependent on some changing
external factor or input so they can't just hard-code the valid build's
signature.

------
AckSyn
Now if they would drop the ridiculous requirement of having a phone number and
go with usernames and not require access to my contact list like most other
services, you could actually be safer and not rely on _their word_ alone.

~~~
laretluval
Indeed. It's not just crypto nerds would want to use the service without
having to have a smartphone with a phone number.

The phone requirement is beyond ridiculous. How did Signal get the reputation
it enjoys in the tech community anyway?

~~~
walterbell
Wire ([http://wire.com](http://wire.com)) does not need a phone number
(register with email on a desktop browser at
[http://app.wire.com](http://app.wire.com), then login to mobile) and does not
need a copy of your contacts. Supports text, image, files, audio, video. E2E
encryption is based on Signal protocol. Funded by Skype founder.

~~~
moxie
Wire does not use Signal Protocol, they used some of our code to create a
protocol of their own devising that we do not recommend.

~~~
terraforming
Why do you not recommend? Hopefully you're not just saying that because they
aren't Signal..

\------------------------------------------------

I've been using Wire for a few weeks now and I'm absolutely happy. They
recently released a linux client [https://medium.com/wire-news/get-your-linux-
on-999403a1a4fe#...](https://medium.com/wire-news/get-your-linux-
on-999403a1a4fe#.ju81mo5lm) (not a chrome app!) (though I think it's
electron).

I'm quite happy with them, give them a try.

~~~
Siimteller
Correct, built with Electron like our Windows and macOS apps. Glad you're
enjoying it.

Possible reason: [https://medium.com/@wireapp/axolotl-and-
proteus-788519b186a7...](https://medium.com/@wireapp/axolotl-and-
proteus-788519b186a7#.89118rx5s)

------
mordant
I don't understand why it still doesn't support landscape mode on iPhone.

~~~
uph
It's on the roadmap [https://github.com/WhisperSystems/Signal-
iOS/issues/937](https://github.com/WhisperSystems/Signal-iOS/issues/937) The
iOS version didn't have a dev for a while after Frederic Jacobs went to Apple,
but Michael Kirk recently took over so things are happening again.

------
mtgx
Great. One of the most requested features is finally here. I think all that's
left now is video calling (on the desktop, too).

~~~
subliminalpanda
I would like to be able to re-register a new number without having to de-
activate the account thereby not losing all of my chats.

~~~
thomasville
Is there a way from preventing certain contacts from knowing I'm on Signal?
Like, it is embarrassing that Jason from college knows I'm on Signal. I know
you guys will disagree and say it is not embarrassing, but it seems that a
privacy-focused app would respect this notion. Obviously being a member of
certain apps (grindr) can be seen as negative. I think I should be able to
Whitelist my contacts.

~~~
faktorialas
I don't disagree with your general point, but I'm curious, why would having a
_privacy-focused_ app be embarassing? I'm curious what kind of attitude you
have for it, or what you expect some of your contacts to think of it.

~~~
thomasville
Because it makes me look like a drug dealer. Which is to say it is easy for me
to guess why most the people in my contacts who use Signal, use Signal. Some
are journalists. Some are tech researchers. The guys with bad jobs who aren't
good at computers make me wonder...

~~~
faktorialas
Sounds like the image we should move away from, so it gets better for
everyone. While I don't disagree with your previous point, I think part of the
reason for OWS to do this might be to nudge people like you towards this being
mainstream, instead of _okay, so why is this guy using this?_

------
cyphar
Cool feature, though it'd be nice if Signal fixed the message delay and
message dropping problem. But Signal uses the proprietary GCM service (because
"it's impossible to do message sending correctly, so let's force people to use
proprietary software") so they probably can't fix it...

~~~
uph
No one is forcing you to use proprietary software. See this comment from moxie
[https://news.ycombinator.com/item?id=10665520](https://news.ycombinator.com/item?id=10665520)

Using GCM is only a problem for people running a custom Android ROM without
Google Play Services. Using GCM doesn't make Signal less private.

 _Google doesn 't see any data via gcm, it's just a tickle. If you want push
messages, you gotta use a push network._

[https://twitter.com/whispersystems/status/695399112833761283](https://twitter.com/whispersystems/status/695399112833761283)

Feel free to help out with code
[https://github.com/LibreSignal/LibreSignal/issues/43](https://github.com/LibreSignal/LibreSignal/issues/43)
or money [https://www.bountysource.com/issues/35722527-create-
proper-p...](https://www.bountysource.com/issues/35722527-create-proper-pull-
request-to-add-libresignal-s-websocket-support-to-ows-signal) if using Signal
without GCM is important to you.

 _If the only thing that the remaining people here want out of LibreSignal is
a websocket-only solution and gmscore isn 't an option for whatever reason, I
would consider a clean, well written, and well tested PR for websocket-only
support in Signal. I expect it to have high battery consumption and an
unreliable user experience, but would be fine with it if it comes with a
warning and only runs in the absence of play services. However, I also realize
that still won't help people that are trying to build a Google-free experience
on Google's platform [https://github.com/WhisperSystems/Signal-
Android/issues/127](https://github.com/WhisperSystems/Signal-
Android/issues/127) , since we still don't have the things we need
[https://github.com/WhisperSystems/Signal-
Android/issues/127#...](https://github.com/WhisperSystems/Signal-
Android/issues/127#issuecomment-21763521) to be comfortable distributing
software outside of Play._

[https://github.com/LibreSignal/LibreSignal/issues/37#issueco...](https://github.com/LibreSignal/LibreSignal/issues/37#issuecomment-226646872)

Considering how a small minority complain about this everytime Signal is
mentioned you'd think they'd do something about it, but take a look at that
Bountysource link and you'll see 8 backers. Guess complaining is easier.

~~~
kuschku
Actually, Moxie has threatened to shut LibreSignal down if they allow
LibreSignal users to message normal Signal users, and refused to even discuss
alternative solutions.

He also uses the GCM library from Google, which pulls in several analytics
libraries into the APK, so "Using GCM doesn't make Signal less private." is
objectively false.

(And in addition to that, Moxie even refuses to allow any distribution that
doesn’t come with full analytics, which is extremely user hostile.)

> Guess complaining is easier.

No, it’s easier to use XMPP than to fix a system that’s broken by design like
Signal.

EDIT: Seriously? Downvotes for criticising publicly documented user-hostile
behaviour from Moxie? Fuck this, the discussion culture here really got worse
than even Reddit.

~~~
moxie
> Moxie has threatened to shut LibreSignal down if they allow LibreSignal
> users to message normal Signal users, and refused to even discuss
> alternative solutions.

Please cite this. To my knowledge I never threatened anything, and your
comment is a response to a quote from the discussion _about_ LibreSignal,
where I suggest that they submit a PR with the functionality they desire to
Signal. Is that not an alternative?

> He also uses the GCM library from Google, which pulls in several analytics
> libraries into the APK

Could you cite this as well? Here's the entire POM file for the version of the
GCM library we use:

<?xml version="1.0" encoding="UTF-8"?> <project
xsi:schemaLocation="[http://maven.apache.org/POM/4.0.0](http://maven.apache.org/POM/4.0.0)
[http://maven.apache.org/xsd/maven-4.0.0.xsd"](http://maven.apache.org/xsd/maven-4.0.0.xsd")
xmlns="[http://maven.apache.org/POM/4.0.0"](http://maven.apache.org/POM/4.0.0")
xmlns:xsi="[http://www.w3.org/2001/XMLSchema-
instance">](http://www.w3.org/2001/XMLSchema-instance">)
<modelVersion>4.0.0</modelVersion> <groupId>com.google.android.gms</groupId>
<artifactId>play-services-gcm</artifactId> <version>8.1.0</version>
<packaging>aar</packaging> <dependencies> <dependency>
<groupId>com.google.android.gms</groupId> <artifactId>play-services-
base</artifactId> <version>8.1.0</version> <scope>compile</scope>
<type>aar</type> </dependency> </dependencies> </project>

A single dependency. If you follow it, the only transitive dependency is the
supportv4 library. Where are the "several" analytics libraries?

> (And in addition to that, Moxie even refuses to allow any distribution that
> doesn’t come with full analytics, which is extremely user hostile.)

What do you mean by "full analytics?" Is there something user hostile about
having an aggregate count of the number of users you have on what platforms,
so that you can develop and deploy software accordingly? About being able to
receive crash reports when users choose to submit them so that you can fix
their problems?

~~~
kuschku
> Please cite this.

I’m sorry, what was this entire discussion then supposed to mean?
[https://github.com/LibreSignal/LibreSignal/issues/37#issueco...](https://github.com/LibreSignal/LibreSignal/issues/37#issuecomment-217211165)

If they can’t fork it while still using your servers, and you refuse to allow
federation, how the FUCK is it open in any way?

How are users supposed to be able to verify the software running on their own
systems when you only allow binaries compiled by yourself to communicate with
your users, abusing the lock-in effect?

> Could you cite this as well?

Have you actually read the code that gets compiled in when you depend on play-
services-base and play-services-gcm?

As I happen to have reversed all of it to write an open source library for
GCM, I have. And let me tell you, most of the code in there is
"measurement"-code.

> What do you mean by "full analytics?"

Distributing through any means where the user can get the app without being
required to be fully tracked by the Google Play Services?

You only distribute through the Play Store, which doesn’t fully work with
microG at the moment, requiring users to install spyware on their devices.

~~~
uph
> _If they can’t fork it while still using your servers, and you refuse to
> allow federation, how the FUCK is it open in any way?_

What makes you think you have a right to demand federation? Run your own
server if you don't like how they're doing it. You have access to the source
under a Free Software license
[https://github.com/WhisperSystems](https://github.com/WhisperSystems) but of
course you don't want to actually do any work, you want to complain about what
other people do because they don't do it in the exact way you want it done for
free.

> _How are users supposed to be able to verify the software running on their
> own systems when you only allow binaries compiled by yourself to communicate
> with your users, abusing the lock-in effect?_

[https://whispersystems.org/blog/reproducible-
android/](https://whispersystems.org/blog/reproducible-android/)

> _You only distribute through the Play Store, which doesn’t fully work with
> microG at the moment, requiring users to install spyware on their devices._

[https://news.ycombinator.com/item?id=12689352](https://news.ycombinator.com/item?id=12689352)

~~~
kuschku
Also, regarding

> but of course you don't want to actually do any work, you want to complain
> about what other people do because they don't do it in the exact way you
> want it done for free.

Nah, I don't spend months of my own free time maintaining an open source IRC
app, and working on creating tools to make IRC easier for users to use.

I don't actually spend time making open chat systems more useable to users,
sure.

That accusation from you doesn't belong at all on HN, and is not only a
personal attack, but also wrong.

I could just run a Signal fork with my own servers tomorrow, but one of my
goals is to allow users to have one single place where they can send a message
to a user, and it will arrive. No matter what service the other user uses,
what app, what chat system, if they're on an obscure 20 people IRC network, on
Signal, WhatsApp, etc.

My ideal goal would be a universal, federated protocol, but even having
libraries for each protocol with a unified API would make things already
easier.

And Moxie is fighting for the opposite.

He fights against any compatibility, and suggests I tell my mother to install
yet another chat app, ignoring that her phone can't even install Signal in the
first place because it only has 3MB of useable memory, left.

You and Moxie actively tell people to create more, and less interconnected,
chat networks.

How the fuck is that going to help?

If everyone uses a different secure app, that doesn't help at all! People will
just use the systems everyone has (case in point: usage of SMS in the US, or
WhatsApp everywhere else), and thereby you ensure no one gets any security.

So stop insulting people you don't know, and claiming untrue motives to be
theirs, just so you can justify your actions.

~~~
uph
> _My ideal goal would be a universal, federated protocol, but even having
> libraries for each protocol with a unified API would make things already
> easier.

And Moxie is fighting for the opposite._

Yet here you are, pissed off that your goals don't align with someone elses.
Use your open source IRC app to talk to your mom and I'll use Signal to talk
with mine. No one is forcing you to do anything. Considering your goals and
ideas are superior surely whatever you're suggesting will become the one
service everyone uses, problem solved.

~~~
kuschku
> surely whatever you're suggesting will become the one service everyone uses,
> problem solved.

That shows even more how much you misunderstand the entire market even worse
than Google does.

An app can’t win because it is the best, but only through network lock-in
effects (which Moxie tries to use for Signal, too) and marketing combined.

------
Canada
I've been receiving a bunch of "Bad encrypted message..." lately. Wonder
what's up with that.

~~~
MichaelGG
Tons of those, plus repeats, and "random" delays. Sometimes it takes a few
minutes for messages to go through (single check). Last week was really bad. I
don't know how multiple messages can happen; shouldn't they have a unique ID?

~~~
uph
Last week was due to server issues
[https://whispersystems.discoursehosting.net/t/intermittent-m...](https://whispersystems.discoursehosting.net/t/intermittent-
message-send-failures/537/7)

~~~
Canada
I saw the mailing list post, then got the bad messages a day later. Probably
the same issue, still curious about the technical details though.

------
wtbob
> They're relatively compact. Users compare 12 groups of 5 digits with each
> other, which is half the size of our previous hexadecimal format.

60 digits have 199 bits of security, so I suppose that's mostly okay, right?
Does the birthday paradox apply here, reducing it to 98 bits?

~~~
StavrosK
No, since you presumably want to match a specific user's key, not just find
two users with the same key.

~~~
lenish
It is a similar problem, however:
[https://en.wikipedia.org/wiki/Birthday_problem#Same_birthday...](https://en.wikipedia.org/wiki/Birthday_problem#Same_birthday_as_you)

~~~
lorenzhs
That's still not the problem considered here. You're not asking "does anyone
have the key I'm seeing here", you're asking "does this person next to me have
the key I'm seeing here". No birthday paradoxes of any kind involved.

~~~
lenish
Forgive me, as I haven't used signal, but I don't see how whether they are
sitting next to you or not changes the problem.

If I can generate a key that hashes to the same value as your key, I can
convince anyone I am you. If I can generate a second collision for a third
party's key, I can convince you you are talking to that third party, as well.
Generating hash collisions is, as I understand it, pretty well modelled with
the birthday paradox (and variations like the one I linked). Physical
proximity seems entirely unrelated.

~~~
lorenzhs
Right, sorry, I misunderstood. A preimage attack (that's the technical term
for this) could indeed be modeled as a birthday problem with a fixed day
("someone with the same birthday as me"). This is much harder than finding a
normal collision (two objects with the same hash, two people with the same
birthday), though.

------
drudru11
How do they make money?

~~~
subliminalpanda
From wikipedia:

"The group is funded by a combination of donations and grants, and all of its
products are published as free and open-source software."

[https://en.wikipedia.org/wiki/Open_Whisper_Systems](https://en.wikipedia.org/wiki/Open_Whisper_Systems)

~~~
drudru11
Why isn't this on their site? ... this is just thinking out loud, not directed
at you.

------
antocv
Signal is not anonymous.

Antox from the tox.im people is a better more secure and anonymous messaging
application.

Ring.cx is also better.

~~~
lorenzhs
Signal does not claim to be anonymous, nor does it try to be. Your
recommendation misses the point.

------
miguelrochefort
Who exactly uses Signal? Why do you think it's secure?

~~~
uph
Edward Snowden, Bruce Schneier, Matt Green and a few more. I think it's secure
because it's been audited, because I trust the experts who say that it is
secure, because of [http://support.whispersystems.org/hc/en-
us/articles/21247776...](http://support.whispersystems.org/hc/en-
us/articles/212477768-Is-it-private-Can-I-trust-it-) and because of
[https://whispersystems.org/bigbrother/](https://whispersystems.org/bigbrother/)

------
cbsmith
SIgnal is basically getting the full feature set of TigerText.

------
sigmar
I had an idea a few days ago where you authenticate your identity (i.e.
numeric fingerprint) on-demand by sending a pic of yourself where the QR code
is overlayed as blacked-out pixels before being transmitted. Then the
recipient can look at the photo to see it hasn't been manipulated, and use the
app to verify the QR codes match.

I'm sure there are issues with this, but it seems like a nice feature for when
secure out-of-band communication is not possible.

