Home

Awesome

Vault App

<p> <img src="GitHub Repo Assets/vaultHeader.png" height="290"> </p>

About

Vault is a two factor authenticator app which generates time based OTPs(One Time Passwords). It uses the HMAC type of message authentication involving SHA1 cryptographic function. This is based on TOTP(Time based One Time Passwords) algorithm.

Steps for running the app

  1. Download the Xcode 13.3 on macOS 12.3.
  2. Clone this repository.
  3. Open the Vault.swiftpm(Swift Playgrounds app project) using Xcode.
  4. Build and run the app on iPhone 13 Pro Simulator(works on any other iOS device).

Technologies Used

CryptoKit CryptoKit Swift5

Project Components

For demonstration purposes, the project contains two sections in itself - the Vault app (which is the two factor authenticator app) and the Wallets app (which is a list of wallets, each having a secret key that is shared between the authenticator and the respective wallet). The Wallets app is a simulation of a generic wallet app, which are secured with 2 factor authentication. In order to open a wallet, the user would first need to go to the Vault app and check for the real time OTP(generated every 60 seconds). Then the user needs to enter that OTP in the wallet login screen. Entering the correct OTP would let them access the wallet details.

Features

App Walkthrough

Onboarding

https://user-images.githubusercontent.com/43038748/166060009-5f5a1954-643e-4452-acd3-f7d617e83658.mov


App Home

<img src="https://user-images.githubusercontent.com/43038748/166064695-30a18848-49f6-48e2-8983-a8e8e37e1837.png" width="2560"> <br> App Home Screen

Vault App Page

https://user-images.githubusercontent.com/43038748/166061097-295f313d-e216-4619-81a9-7c4f97734aed.mov


Wallet App Pages

https://user-images.githubusercontent.com/43038748/166061511-c1c74252-4336-4d5f-8963-a6fe209ee1fd.mov


Let's try to Unlock a Wallet

https://user-images.githubusercontent.com/43038748/166062119-381fe8bf-5509-4935-bef9-636b7bb27679.mov


Entering an Invalid OTP

https://user-images.githubusercontent.com/43038748/166062393-c705c5c9-19ee-4955-b40a-00117d0fafac.mov


How it Works Section

https://user-images.githubusercontent.com/43038748/166062740-f235fc6a-e90a-4ebf-b89c-f7d6d409b59e.mov