Skip to content

i-comit/i-ncript

Repository files navigation


Logo

i-ncript

A portable, cross-platform data encryption app.

Table of Contents
  1. Introduction
    Getting Started
  2. Roadmap
  3. Contributing
  4. License
  5. Contact

Introduction

Dark mode on VAULT page w/ Blue Accent, showing Logger page while decrypting files Light mode w/ green accent

i-ncript is a portable data encryption app, designed for use with removable storage devices. It is portable as it does not require aninstaller to run, can execute on any drive, and can be quickly transferred to another device without an install/uninstall process.

It leverages Wails for the backend file processing speed of Go with the reactive and modern UI frontend of several web frameworks.

The focus on portability plays an important role in data security. The fact is, data is most vulnerable is when it is connected to the internet, and while many measures have been taken to ensure the safety of online data, an offline, portable data store is a far more simple yet far more effective method of data security.

Files are encrypted using the Advanced Encryption Standard (AES), which employs a sophisticated round-based encryption method to provide a robust security foundation. Your key is additionally encrypted using the Argon2i algorithm, which enhances security by resisting side-channel attacks and using "salting" to defend against rainbow tables.

You can also send and receive encrypted data by using the M-BOX, which provides the option of encrypting a set of files for another i-ncript account username and a one time password associated with that file.

Please note that using this software may lead to damage or data loss, and a key, once lost, cannot be recovered. The author is therefore not responsible for any resulting damages or loss of data under any circumstances.

Summary:

  • Lightweight (<4MB) self contained executable.
  • Encryption using AES & Argon2i.
  • Send & receive files with one time password.
  • Cross platform for desktop OS, and soon mobile.

Frameworks Used

  • Wails
  • Svelte
  • Tailwind

Common Issues

On Linux, I got an "Invalid url:path/to/i-ncript No ':' in the uri" error and can't open the app in my USB

This is a permission issue. Make sure the USB is formatted with NTFS.

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

To compile this app. You will need to install Node.js & Go

(back to top)

1. install the go modules

go mod download
go mod tidy
  • optionally check for updates

    go list -u -m all

2. then cd to /frontend

cd frontend
  • and update/install npm

    npm install npm@latest -g
    npm install

3. to develop the app live, use

wails dev

4. to build a distributable, use

wails build

Roadmap

You can track the current project roadmap here.

See the open issues for a full list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

License

Distributed under the GNU GPL v3 License. See the LICENSE for more information.

Contact

[email protected]

(back to top)