Back to blogs

Sharing A Contact: The Numberless Way

Shantanav Saurav

Aug 29, 2024

Alexander Graham Bell made phone numbers the standard for connecting people over phone lines all the way back in 1897, kicking off the revolution of phone numbers as identifiers. At the time, they were simply easier than having to deal with a human operator connecting you to your intended recipient. To this day, the humble 10-digit phone number has stuck around as the most common way that people connect to their friends, family, colleagues, acquaintances, and businesses.  

The Problem: 

It’s well known, however, that the simple act of sharing your phone number, or even an email address or username can invite trouble, ranging anywhere from the benign prank call to more severe concerns such as privacy breaches, identity theft, scams, or worse – even more telemarketing calls. Changing your number, email, or a new username is often the only way out, but only tosses the problem further down the line until your new identifier gets compromised. That’s not even mentioning how annoying it is to tell all your friends that you now go by “DefinitelyNotSteve123”. The bottom line is, once these pieces of personal data are out there, it’s very difficult to regain control of them. 

Ultimately, where’s the underlying problem? Well, we’ve already encountered it: Alexander Graham Bell set in stone the standard of using phone numbers as identifiers because they were convenient, not with privacy or security in mind. Unfortunately, in modern times, their very nature as these singular access points to you make them prime targets for exploitation.

The Solution: 

Enter: Port, which is designed to be a platform that has no such permanent identifiers and therefore is not prone to any of these problems. We’d also like to make sure that in doing so, we’re not sacrificing the convenience or ease of sharing other people’s contacts, because we recognize that there are plenty of reasons to do so. Need to connect a friend with a top-tier financial advisor for wealth management? Or perhaps you’re looking to introduce your business partner to an exclusive private chef for their next event? Sending your guitar teacher’s contact over to a friend who wants to learn - oooh I like that example. Let’s go with it. Your best bud’s expressed interest in starting guitar lessons, and you’re the right guy to ask because you’ve got a teacher. Port aims to make these connections seamless and secure, without the vulnerabilities that come with revealing your more traditional identifiers. So how do we do it?  

Under Port’s limitations, you’d have to go to your guitar teacher and ask him for a Port. Once he’s agreed to generate one for you, he’ll create his Port and give it to you, which you then forward to your friend. It’s now up to them to use it to establish the connection with the guitar teacher. One step closer to shredding like Van Halen

This is exactly how we used to do this, facilitated by our messaging infrastructure. Your device would make a request to your teacher’s device for a Port. The first thing their device validated is whether they have given you the appropriate consent to share your contact. If they haven’t, the request will simply be refused. If they have, it generates the port and sends it over to you, encrypted so nobody can make use of it while it’s in-flight. Your device then receives your teacher’s generated port, and then sends it over to your friend. It does so while automatically handling all the encryption to make sure that Port is totally safe from evil hackermen between when it’s generated and when it’s used. Once your friend’s device receives the Port, they then use it and open the connection with the guitar teacher, Michael Angelo Batio pulls out the keys to the Lamborghini, and we’re in business. 

The ContactPort: Designed for Network Resilience

What if your guitar teacher’s offline, because he’s off playing bangers at a gig? Don’t fret! (Get it? Guitar joke? No? Okay, moving on.) Port’s never gonna give you up, never gonna let you down. In this case, we use something we call a ContactPort. A contact port contains exactly five pieces of information: 

  1. ID: a simple, unique identifier

  2. Owner: The guy who owns the ContactPort. In this context, it would be your guitar teacher. 

  3. Authorized User: That’s you! This ContactPort is unique to your guitar teacher’s conversation with you, and you’re the only person who’s authorized to use this ContactPort as long as the Owner has given you the right permissions. 

  4. The Port itself: The bundle of information that gets used to establish a connection. 

  5. Active: Does the authorized user have permission to use this ContactPort? 

Both parties create and exchange ContactPorts when they connect, and each of them can toggle whether the counterparty is authorized to share it at any time by toggling their “Contact Sharing” permission. When you try and share the ContactPort with your friend, a couple of things happen to facilitate the connection, beginning with generating a “ticket”, which is in essence just a randomly generated password. 

Your device then sends this ticket to our servers, which do the legwork in ensuring you have the consent to share it in the first place. If that permission’s been granted, then and only then can you proceed. This ticket is then sent to your guitar teacher (encrypted, as usual), who then saves it to verify connection attempts using your ContactPort. This way, even if somebody got their hands on the ContactPort itself, they wouldn’t be able to use it without a valid ticket – our server would reject the connection.  

But wait! Doesn’t the guitar teacher need to be online to save the ticket? Not necessarily! The ticket is sent through our messaging infrastructure, which is designed to hold on to your messages until you’re online and can receive them. They’re only ever stored in their encrypted form, so even we can’t see what they contain while they’re chilling backstage waiting for their cue. 

Once your device has verified this has happened successfully, it sends the ContactPort and the ticket it generated to your friend. Your job is now done! You can now go back to shredding like Slash, and it’s now up to both the teacher and friend to duet like Angus and Malcolm Young

When your friend decides to use the ContactPort you shared with them, they simply take both the ContactPort itself and the ticket you provided, and then send them both in a message to the guitar teacher. Our server steps in to check if everything is legit—making sure the ContactPort and ticket are a match. If all is good, the server sets up the initial unencrypted chat and tells your guitar teacher that someone is trying to connect with them using the ticket and ContactPort (which, as mentioned before, will wait for the teacher to come online). The teacher then does a final check to make sure the ticket is valid, and if it all checks out, they process the connection as usual. Once all’s said and done, your friend’s journey to ripping it like Hendrix can begin.

The Future of Secure, Flexible Connections

Alright, I promise I’ll stop the guitar jokes, but I hope that between those you gleaned the process that allows users to connect their contacts with each other in an environment that doesn’t have permanent identifiers. In short, we’ve developed a way that lets you draw your own boundaries when it comes to who you allow to share your contact information, in a way that older technologies didn’t allow for.  

While these traditional identifiers have served us well for decades, they just aren’t sufficient for the safety of the modern netizen. Port offers a modern solution by eliminating the need for permanent identifiers, providing a more secure way to connect without sacrificing the ease and convenience that made phone numbers, email addresses, and usernames so useful in the first place. As we move forward, it’s clear that the future of connecting with others lies in flexible, secure systems like Port, where privacy is prioritized without compromising the ability to easily share and connect with the people who matter most. 

Other articles:

Sep 9, 2024

Building a new avatar set for Port

Amudhasurabhi Aravindan

Read more

Aug 29, 2024

Tame the Chaos: How Chat Folders Can Simplify Your Life

Harshitha Chawla

Read more

Aug 7, 2024

How does Port make secure, identifier-less, end-to-end encrypted chats? 

Shantanav Saurav

Read more

Aug 2, 2024

How Port puts you in control

Abhay Shenoy

Read more

Jun 29, 2024

Blocking a user without public identifiers

Abhinav

Read more

Jun 20, 2024

What is a Port?

Abhinav

Read more

Jun 16, 2024

Why is Port a better way to connect?

Janice Coutinho

Read more

Jun 14, 2024

Superports - the smart way to network

Aniruddh Balasubramaniam

Read more

Jun 12, 2024

How "Ports" work (vs phone numbers)

Aniruddh Balasubramaniam

Read more

Jun 10, 2024

Connect on your terms … starting now

Janice Coutinho

Read more

Jun 8, 2024

Going Numberless

Aniruddh Balasubramaniam

Read more