Skip to content

Latest commit

 

History

History
106 lines (77 loc) · 3.74 KB

README.md

File metadata and controls

106 lines (77 loc) · 3.74 KB

SafeKey Vault


SafeKey Vault is a mobile app to provide a secure and user-friendly way for managing passwords and sensitive accounts information.
The app aims to ensure utmost security by implementing biometric authentication for access while allowing users to create, update, and remove items containing login credentials and other notes for various accounts. All in offline mode, without any in-cloud backup, to keep the data as safe as possible leveraging on device storage. Additionally, it facilitates secure export/import functionalities for user convenience.

Note: Currently the only supported language is IT 🇮🇹

Features

Biometric Check at App Start

Integration of biometric authentication as the initial step upon app launch for robust security measures.

Password Management

Create, Update, and Remove Items: Allow users to add new account items, edit existing ones, or delete items as needed, incorporating features to store email addresses, usernames, passwords, and additional notes securely.

Data encryption

Data are saved on device storage in a secure way via react-native-mmkv library.
MMKV is an open-source, high-performance and user-friendly mobile key-value storage framework designed for WeChat. It’s built on top of the key-value storage engine LevelDB and provides a simple API for storing and retrieving data. It also offers encryption support, leveraging on secure storage.

Secure Export/Import

Biometrically Secured Export/Import: Implement secure export/import functionality ensuring encryption of data and requesting biometric authentication when performing these actions, thereby enhancing overall security. Implement QR code like Google Authenticator.

Now what?

  • Multi-language integration will come soon

Developement

Setup

Install dependencies and pods (for iOS only).

yarn install
# For iOS only
yarn pod:install

Step 1: Start the Metro Server

First, you will need to start Metro, the JavaScript bundler that ships with React Native.

To start Metro, run the following command from the root of your React Native project:

yarn start

Step 2: Start your Application

Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:

For Android

yarn run:android

For iOS

# run on simulator
yarn run:ios:simulator
# OR run on real device
yarn run:ios:device
# OR run on real device in RELEASE mode
yarn run:ios:release

Scripts

Some scripts are available to simplify some tasks.

Merge upgrading version

  • Tag the current version
  • Merge on main branch and push
  • Upgrade snapshot version
  • Push on dev branch
# on MacOS
yarn macos:merge-upgrading-version
# on Windows
yarn windows:merge-upgrading-version

Release builds

The releases are created through CodeMagic CI/CD platform:

  • from main branch
  • for both Android and iOS release
  • pipeline defined into codemagic.yaml file