Digital security is becoming more and important in today's society. Hackers, advertisers, and the NSA feed off of the mass amounts of information available. There should be a way to protect at least the most important messages. SendLock lets you lock down your most important messages and documents so only those you truly trust will receive them! It is a useful tool for any business that might need to manage sensitive information as well as individuals who want to be more careful.

What it does

SendLock is an iMessage App Extension that authenticates the sender and receiver of encrypted data using Capital One's SwiftID API. It uses encryption to ensure that only properly authenticated users will be able to transfer data. It prevents eavesdroppers from being able to read messages.

How we built it

Harnessing the secure power of the Capital One SwiftID API, the app first authenticates with Capital One servers, and then save the resulting key and uses it for encryption purposes. When messages are sent, they are encrypted and stored on iCloud servers, with a marker to know where to find the data sent to the other user, who finds and decrypts the data.

Challenges we ran into

The SwifID API is confusing and takes many steps to work with. Encryption is also very hard to do properly.

Accomplishments that we're proud of

We successfully implemented the SwiftID API! We were able to have our encrypted data transferred over iMessage and iCloud!

What we learned

Encryption is hard to implement. The Capital One SwiftID API does not have all the features I hoped for. The iMessage App Extension behaves weirdly when you try to add view controllers modally over it.

What's next for SendLock

Graphical improvements and a way to write and encrypt messages directly as text instead of only sending encrypted files.

Built With

Share this project: