Discussion:
[whispersystems] First steps to using Signal in an app
Judah McAuley
2017-02-18 02:52:13 UTC
Permalink
Howdy y'all, I've been using Signal on my phone for some time and really
love it. I now have a use case where it makes sense to use the protocol and
services for supporting a new app and I'm looking for the best guides to
getting that going. I'm partnering with some folks here in Portland, Oregon
and we're sketching out a community application that would enable people to
report ICE activities, have them verified by teams of volunteers, and then
once verified, have the volunteers be able to do a broadcast message to
subscribers who want to be alerted. Some of these folks are likely going to
be sms-only, on old feature phones, and not technically sophisticated,
while other parts would require a mobile app and possibly a web client.

Signal seems like a perfect choice for the messaging component, both secure
and sms/mms, and for obvious reasons I want to build as much security into
the core infrastructure as possible. Given that, I have a couple of
questions:

1. Signal Service vs Signal Protocol. If I understand the github repos
correctly, Signal Service is for utilizing the hosted infrastructure
provided by Whisper Systems vs the Protocol which would be utilized if you
were going against your own Signal Server. Is that distinction correct? If
so, what are the guidelines for utilizing the hosted service? I'd prefer to
use something already in place and focus on the client work but I don't
want to accidentally run afoul of systems guidelines and I can't seem to
find them anywhere.

2. Java isn't my forte, my team is developing in Go and JS for the most
part, are there SDKs out there for non-Java languages? I see a Signal
Protocol library for C and for JS but, once again, I'm a tad confused about
the difference between Protocol and Service.

Thank you ever so much for any help y'all can give me.

Cheers,
Judah
Benedikt Radtke
2017-02-19 00:54:53 UTC
Permalink
Heyho,


as far as i understand it the signal-protocol libraries take care of en-
and decrypting, fingerprints/security number generation and the like,
while the signal-service libraries use it to encrypt "service" messages.
Service messages are e.g. normal signal messages, group updates,
transcripts for sibling devices and disappearing messages setting
updates. It also handles the connection to the signal server, so that
you may create a new client without getting lost in encryption or
connection details.


The signal libraries are not an sms gateway. If you want to send sms,
you will have to take care of it (and pay) yourself.


- Benni
Post by Judah McAuley
Howdy y'all, I've been using Signal on my phone for some time and
really love it. I now have a use case where it makes sense to use the
protocol and services for supporting a new app and I'm looking for the
best guides to getting that going. I'm partnering with some folks here
in Portland, Oregon and we're sketching out a community application
that would enable people to report ICE activities, have them verified
by teams of volunteers, and then once verified, have the volunteers be
able to do a broadcast message to subscribers who want to be alerted.
Some of these folks are likely going to be sms-only, on old feature
phones, and not technically sophisticated, while other parts would
require a mobile app and possibly a web client.
Signal seems like a perfect choice for the messaging component, both
secure and sms/mms, and for obvious reasons I want to build as much
security into the core infrastructure as possible. Given that, I have
1. Signal Service vs Signal Protocol. If I understand the github
repos correctly, Signal Service is for utilizing the hosted
infrastructure provided by Whisper Systems vs the Protocol which would
be utilized if you were going against your own Signal Server. Is that
distinction correct? If so, what are the guidelines for utilizing the
hosted service? I'd prefer to use something already in place and focus
on the client work but I don't want to accidentally run afoul of
systems guidelines and I can't seem to find them anywhere.
2. Java isn't my forte, my team is developing in Go and JS for the
most part, are there SDKs out there for non-Java languages? I see a
Signal Protocol library for C and for JS but, once again, I'm a tad
confused about the difference between Protocol and Service.
Thank you ever so much for any help y'all can give me.
Cheers,
Judah
Loading...