Introducing SAFE Wallet app

I’ve been using this idea to learn how to develop for SAFE, and I’m planning to keep polishing it and publish it on the network when launched. Below is a description of the motivation behind it, which is based on my experience on my last backpacker trip.

Next step is to integrate it to the SAFE network using the latest safe-js version. I may get help/contributions in the near future from some devs belonging to the SAFEdevs-Cordoba meetup group.

If there is enough interest I’ll be happy to post updates and share the live demos/versions of it from now on (which will be deployed on SAFEnet for you to try it with your own account).

I decided to share it here with you in order to get feedback from as many as possible of you. For now it’s just a mockup but I think it’s good enough to show the basic idea.

I hope you like it :slight_smile: !

Motivation
As a traveller you need to carry a few personal items you cannot loose if you want to be able to access your money, e.g. credit cards and home-banking passwords, or perhaps you crypto-wallets keys.

This can be sometimes challenging since you may not want to leave them at the hotel/hostel, but if you otherwise carry them with you it can also be risky or just uncomfortable.

In addition to this, if you are booking things as you travel (e.g. as a backpacker), you need to use your passwords and credit card numbers on a daily basis, and you are requested to type your passwords, and specially your credit card numbers, over and over again. You can otherwise decide to risk it and store them in your mobile phone, or trust any cloud storage to keep them there, which in any case is not a good idea.

Even if you are not travelling but shopping and/or banking from home, it would be much easier to have all this type of information handy in your device, but safe and secure.

Background
As mentioned above, many people decide to store their credit card numbers and/or passwords in their mobile, tablet, laptop, or email accounts, so they can easily access them when needed. E.g. lying down very comfortably in bed trying to book things online, when your wallet and personal items are inside a locker and not with you in that moment.

The approach that comes up to anyone’s mind when thinking of how to solve this issue, it is to store this information in a text file, encrypt it, and upload the encrypted file onto any of the cloud services available today, like a cloud storage or even an online email account.

This probably sounds reasonably and fairly secure, although it’s definitely not a good choice if you want this information to be easy to maintain and to retrieve. In order to retrieve the information you need to first download the encrypted file, which implies logging into the cloud service where you stored it, you then need to decrypt it locally, then open it with a text editor to finally be able to read or copy/paste the information you were looking for. But this is not all, you then need to make sure you delete the file from the local storage, which is tricky since the OS may not fully delete the data but just update the file tables to remove the file entry and not its actual content.

Solution
In order to solve this problem, it’s proposed to develop a web application deployed on the SAFE network which provides an extremely simple UX to manage this type of information, which takes care of storing and retrieving the data securely on the user’s SAFE account.

By providing such an application, the user would only need to make sure it has a SAFE account and the SAFE browser installed in its mobile phone, tablet or laptop.

All the encryption/decryption tasks are automatically handled by the SAFE network, and the web application displays the information, so it can be not only viewed, but also maintained in a very friendly and intuitive manner.

Live mockup
http://bochaco.github.io

Early stage live version on SAFE Alpha-2 network:
safe://safewallet.wow

SAFE Coins Wallet open source library:

SAFE Faucet source code:

66 Likes

Very cool! Sounds like easily accessible and obviously secure so I can’t wait to try it! It would be so cool to have an auto fill feature on mobile in the future though I’m sure someone like apple reserves that for themselves specifically with their keychain. Do intend it to be just for cards or also a safecoin wallet and will the card/other details be input manually or will you have the camera scan option? I know the latter is asking a lot but a man can dream :wink: either way I’m very eager to test! Glad to see these things cropping up :slight_smile:

5 Likes

Really cool, I like it a lot. And the UI is very pretty!

Since the very first time I thought about apps on SAFE a password manager was the obvious thing that came to mind. Especially since I currently run this weird setup of “syncing” my keepass-x-database-file over owncloud … ehem …Making sure I don’t accidentially write on two concurrent version. Instead SAFE is excellent for that.

And with the new Mutable-Data-Type you can store and query them super easily and optionally you could encrypt every key-value-pair with a separate key, then you could even share specific entries with others - which would be super rad (and a feature even all those cloud-storage-apps have real troubles full-filling). Very exciting.

Can’t wait to see it in action!

13 Likes

Thanks @Nigel for your feedback!

I was thinking that having the SAFEcoin wallet integrated into it would be good and a natural move, I’m also interested in the challenge of implementing it, so yes I’ll be aiming at adding it. You can see that one of the cards (labelled as “Safecoin Wallet”) is the potential SAFEcoin wallet, currently empty when you click on it though.
I also thought about having other crypto wallets (btc, eth, etc.) but I’m not sure how that will work out due to the limitation with connecting with the clearnet, but it’s not a discarded idea yet at all.

I didn’t think of something like the scan feature for any of this, but it definitely sounds good to me and I will consider it and research how that could work out. Thanks for sharing that!!

2 Likes

Thanks @lightyear, I’m happy to hear you like it honestly.
And thanks for the extra information about the MutableData type, I’ll have to dig into it to fully understand your comment though :blush:.

5 Likes

This is a terrific idea and I would certainly use it!

6 Likes

We have fallen behind on the COmmunity Engagement Process, but for sure this would be a dead set for such an award/support. Time is killing us as usual right now, but perhaps this is something we can mobilise soon. Lets see what @nicklambert and @lightyear say to that (workload :scream: )

15 Likes

Que bien @bochaco ! I can’t wait to take a look :wink: such a simple and much needed use case for SAFE… great initiative to get your project started,… I can’t wait for the day when I can login to apps and transact with peace of mind :o

3 Likes

I’d kill for this app if I had to!! :mouse2:
Looking forward to it! I have the exactt same Problem as lightyear…

5 Likes

rad! I was thinking about firing into something like this. Lovely to see this sort of stuff coming out. :smiley: Bien hecho!

4 Likes

Awesome and impressive stuff @bochaco

3 Likes

Not being a developer I’ve no concept of what you are trying to write. It reminds me of the commercially available program LastPass which encrypts and stores data securely on your device allowing you to open and use the information on a “secure” browser within LastPass. LastPass is also capable of autofilling sites and I believe has 2 party authentication available. Could integrating their work, provided they are incentivized I’m sure, into the Safe network save you some time?

4 Likes

Is this for mobile platforms you’re using @Winegrower or PC? I mentioned the auto fill feature earlier in the thread and it indeed would be a great feature to have if possible

1 Like

I use LastPass on my desktop, laptop, and phone. They have both a free and paid version.

Thanks guys for the nice feedback, it’s really encouraging to see some interest in this app.

@Winegrower, yes it’s a similar idea in terms of passwords and the ability to do the autofill or copy/paste. The difference I see is that app seems to be similar to masterpasswordapp where you have one password and then it generates many passwords for you based on a seed, whilst in this app you could choose what the passwords will be. Also having private/public keys, or even a functioning wallet, is something that you cannot do in the other apps, can you?

3 Likes

Hold on! I may end up being liable for that too! :joy:

4 Likes

Using a master password known only to the owner of the LastPass “vault” decrypts all the data contained in the vault which is otherwise kept encrypted on the computer or phone. Passwords for individual apps or wallets can be generated by LastPass then applied to the intended app. I have 2 wallets I keep inside the LastPass vault. Each app or wallet has a page with URL link to the login, username and password. The form also allows notes about the app to be kept. An autofill, autologin, autopassword change in a specified time period, never autofill, and password reprompt are all features which exist for each app.

1 Like

It sounds interesting, I’ll take a look at it more deeply.
Just to clarify, when I said wallet, I meant crypto wallets for Safecoin, Bitcoins and altcoins in gral.

I meant cryptocurrency wallets too.

1 Like

Thanks @dirvine. It would be great. Just let me know if this becomes real that I’ll be interested in disscussing it.

4 Likes