Usage

Encrypt & decrypt

App: drop a file on the main screen, pick one or more contacts (turn on “Also encrypt to me” to include yourself, or “Use my Lock” for yourself only), hit Encrypt. Decrypting is the same drop — Instacrypt detects the container and automatically switches the button to "Decrypt"; press it to verify the sender's signature and decrypt the file.

icc encrypt report.pdf --to bob --to carol --self -o report.pdf.icfx
icc decrypt report.pdf.icfx
icc verify report.pdf.icfx      # checks the signature

Encrypted files are private by default: they reveal nothing but their size. icc encrypt --public-meta embeds readable sender/filename metadata for tooling that needs it.

Exchanging locks

If you are exchanging encrypted files with others, you must first exchange locks so you can encrypt files for each other with them. Locks are not secret and can even be safely posted online or sent to others in plaintext. Locks also include metadata that you are willing to share such as your name, alias, and e-mail so it's essentially also a contact card. Hence, to add someone's lock, you just go to "add a contact" in the Instacrypt app.

There are a number of ways to exchange locks with your contacts and they are outlined below.

show an animated QR or export a file:

Settings → Identities → Share Lock

icc contacts export with --file or --qr.

and your contact either scans the animated QR code or imports the file:

Settings → Add Contact → Import Lock:

icc contacts import with --file or --qr.

A AliceSharing her Lock
Lock · public key
Animated QR — cycling frames
B BobScanning Alice's Lock
Point camera at the code
Alice added Fingerprint verified
Lock = public key (safe to share) Key = private key (never leaves the device) Identity = Lock + Key

with cloud, just search the directory and add like friending on social media:

Settings → Add Contact → Add Contact

icc cloud search <alias> or <name>

and your contact can accept the contact request:

Click/tap on the bell icon on the home screen or settings drawer to see the requests.

icc cloud requests to list active contact requests.

or the hybrid flow:

User B scans user A's QR code followed by user B inviting user A to connect via Instacrypt Cloud when prompted.

User A accepts the request.

Groups

Bundle contacts into a group (Settings → Groups; icc groups list/add/edit/remove), then encrypt or share to the whole group at once — Instacrypt expands it to every member's lock. Groups sync across your devices along with your contacts.

icc groups add team --member bob --member carol
icc encrypt report.pdf --to team -o report.pdf.icfx

Sharing via Instacrypt Cloud

You can always share your encrypted files directly to your contacts via chats, e-mail, or cloud storage of your choice. However, if you want a quick way to share an encrypted file directly to a contact via the Instacrypt app, for users on the Basic, Pro, and Ultimate plans, Instacrypt Cloud share is available.

After encrypting, hit IC Share — it goes to the same people you encrypted for (one or more contacts, and yourself if you selected “Also encrypt to me”). Choose expiry (or never) and whether it's single-use. Each recipient gets an e-mail notification and a bell notification in their app which can be downloaded and decrypted with one click. There are no download links anywhere — files arrive only inside each recipient's signed-in app.

icc cloud share send report.pdf.icfx --to bob --to carol --self --ttl 7d
icc cloud share inbox
icc cloud share get <id>

Sharing to yourself

Encrypt with Use My Lock, then store it in cloud storage or a synced folder. Alternatively, on a Basic, Pro, or Ultimate plan, hit IC Share — the file shows up in the bell drawer on every device signed in to your account, ready to decrypt with your own key. Works even if you've never published your identity to the directory. The same expiry and single-use options apply; a share set to never expire holds one of your plan's share slots until you delete it.

icc cloud share send notes.txt.icfx --self    # on originating device
icc cloud share list    # on destination device - get share id
icc cloud share get <id>    # on destination device

Re-download a file you shared

As the Instacrypt Cloud share sender, you can pull back the raw encrypted .icfx of any share you made — handy to forward it another way or recover a local copy. It stays encrypted; only the recipient's key can open it. In the app: Settings → Cloud → Manage Shared Files → Download. With the CLI:

icc cloud share download <id>

Git signing

icc git-sign install    # wires icc into git as the signer
git commit -m "signed with post-quantum keys"
icc git-sign push

Git signing (gpg + icc)

icc git-sign install    # wires icc into git as the signer
git config gpg.format openpgp 
git config user.signingkey YOUR_GPG_KEY_ID 
git config commit.gpgsign true
git commit -m "signed with post-quantum keys"
icc git-sign push

After merging a PR

git pull
git checkout main   # or whatever the destination branch is
git pull
icc git-sign post-commit-sign HEAD
icc git-sign push

Verify commit

icc git-sign verify-commit <commit>

Development

Building something? The icfx Go library powers all of the above — and an ic-agent key daemon is on the roadmap to make Instacrypt a more viable gpg alternative.