iPact is a secure, privacy-focused collaboration application designed to allow users to create encrypted collaborations and share sensitive files securely. It integrates with the IOTA Shimmer testnet to ensure file immutability through immutable transactions between users.
- Secure Profile Creation: Each user creates a unique profile tied to an IOTA wallet, with a private key securely stored using IOTA Stronghold technology.
- Collaboration Creation: Users can invite others to secure collaborations using invitation links.
- Encrypted File Sharing: Files are encrypted using two layers of encryption, ensuring privacy and confidentiality.
- File Immutability Check: Users can verify the integrity of shared files using the IOTA Tangle to ensure no tampering over time.
- Cross-platform Compatibility: Available on Android with support for future expansion.
Before setting up iPact locally, ensure you have:
- Flutter SDK: Install Flutter
- Dart SDK (included with Flutter)
- Android Studio or Visual Studio Code for running the app on an emulator or physical device.
-
Clone the repository from GitHub:
git clone https://github.com/rubayethasan21/iPact.git
-
Navigate into the project directory:
cd iPact
-
Clean the project to remove any previous builds:
flutter clean
-
Install dependencies:
flutter pub get
-
Run the project on a simulator or physical device:
flutter run
For additional help building this Flutter app, check out the Flutter Development Documentation and the IOTA SDK Flutter Guide.
- Start a new collaboration by inviting other users using an invitation link.
- Collaborations allow secure file sharing between trusted participants.
- Files added to a collaboration undergo two-layer encryption:
- Symmetric Encryption (AES) for file confidentiality.
- Asymmetric Encryption (RSA) using the recipient's public key.
- Files are shared via external platforms like email or messaging apps.
- Once the encrypted files are received, the receiver decrypts the outer layer using their private key and requests the symmetric key to decrypt the file contents.
- Use the immutability check feature to confirm that shared files have not been tampered with over time. The app compares the file’s hash with the transaction stored on the IOTA Tangle.
- Flutter Development: Flutter Documentation
- IOTA SDK for Flutter: IOTA SDK Flutter Guide