Signal-ios: App should work without contact access

Created on 17 Jan 2017  路  13Comments  路  Source: signalapp/Signal-iOS

I'm trying to get non-technical actually privacy-conscious people to use Signal and it's a solid no-go because of the contact access requirement.

I've seen #1356 and the work there would be good but I don't think that will address the reasons why people do not want to share their contacts.

  1. People can't/won't trust that the contacts won't be shared after the phone has given access to them.

  2. Full contact sets are sensitive and mostly irrelevant (most of the contacts are either accrued junk, work or people you have no direct interest in messaging anyway). The necessary contacts for initial usage are at max a dozen and those can easily be entered by hand.

Most helpful comment

I love Signal but it's extremely frustrating that some of my friends won't use it solely because of the Contacts list requirement. With reasoning such as "I can't use an app that gives out my clients' information in my contacts." If there were a way to opt-out and manually add some contacts, it would be extremely helpful.

All 13 comments

I agree with this. I never share my full list of contacts. I always disable the contacts sync on my phone and create local contacts (with only the info needed for the app) that should be imported in the app. When the app did imported the contacts, I disable the access.

So for the Signal app it should be possible to talk with the people that are in the inbox list without contact acces.

So the case should be:

  1. Create a account and import contacts.
  2. Chat with people that have Signal.
  3. Close the Signal app.
  4. Disable to access to the contacts in iOS settings.
  5. When I open the app again I should be able to use the app with the contacts that are in the inbox list.

Thanks.

I would be interested in having a look at this if it is something that the core team would be supportive of including.

It would be good if it was also possible to add contacts with just a number and a text label without adding to the system contacts. Would he core team support that too?

@FredericJacobs
I've build the app by my self with the blockingContactDialog function disabled. The app works still fine. The only thing is that the names of the contacts are gone. You see the phone number of the contacts. But that is as expected.

I think this wil be a improvement to the app.

This really needs to be offered as an optional feature and to stop forcing users to share their contact info. Unusable otherwise. Shame on you guys.

I love Signal but it's extremely frustrating that some of my friends won't use it solely because of the Contacts list requirement. With reasoning such as "I can't use an app that gives out my clients' information in my contacts." If there were a way to opt-out and manually add some contacts, it would be extremely helpful.

When you delete this case statement the app works without contact acces;

   case kABAuthorizationStatusDenied: {
            UIAlertController *controller =
                [UIAlertController alertControllerWithTitle:NSLocalizedString(@"AB_PERMISSION_MISSING_TITLE", nil)
                                                    message:NSLocalizedString(@"AB_PERMISSION_MISSING_BODY", nil)
                                             preferredStyle:UIAlertControllerStyleAlert];

            [controller addAction:[UIAlertAction
                                      actionWithTitle:NSLocalizedString(@"AB_PERMISSION_MISSING_ACTION", nil)
                                                style:UIAlertActionStyleDefault
                                              handler:^(UIAlertAction *action) {
                                                [[UIApplication sharedApplication]
                                                    openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
                                              }]];

            [[[UIApplication sharedApplication] keyWindow]
                    .rootViewController presentViewController:controller
                                                     animated:YES
                                                   completion:nil];
            break;
        }

I't located in the OWSContactsManager.m file;

I've tested this things:

  • login from clean install app. (fill in phone number and disallow the contact acces. )
  • Quit the app and open again and find new contact based on phone number.
  • Send a message to other person. (The app only displays the phone number, not the contact name.)

I'll have not signed the Contributor agreement, could someone create a PR from this change? So the app works without the contact Acces.

@mat1th thanks for this, I can at least build it myself manually with my iOS dev license and use it this way for now until it is updated.

@mat1th if you're building yourself, does that mean push notifications won't work? I see that mentioned in the known issues. Thanks for the info.

@robertp82 @josephlord Yes push notifications doesn't work when you build it your self.

So someone who signed the Contributor agreement should create a pull request so everybody can use the app without the contact access.

Absolutely mandatory for many. Consider this comment my upvote!

With the newest iOS update (2.12.1) it's not nesesery to give the app access to the contacts :tada:
So this issue could be closed;

In 2.12, thanks @mat1th

What鈥檚 the issue number associated with being able to enter in a new phone number while access to contact is disabled on iOS?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mxmerz picture mxmerz  路  5Comments

anselmh picture anselmh  路  3Comments

fracture-point picture fracture-point  路  3Comments

ghost picture ghost  路  4Comments

zstal picture zstal  路  4Comments