Skip to content
View arkfile's full-sized avatar

Block or report arkfile

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Arkfile/README.md

Arkfile

Private File Vault over S3

1. What Is Arkfile?

Arkfile is an open-source service that lets you store and share files while keeping them private.

Before any file leaves your computer it is encrypted, so the Arkfile server never sees your data.

Because of this privacy-first design, only you – and anyone with whom you choose to share – can access and open your files.

2. Why People Use It

  1. Privacy-first – files are encrypted on your device.
  2. Share safely – you can create sharing links with share passwords for friends or co-workers without giving them your main password.
  3. Multi-factor security – Time-based One-Time Passwords (TOTP authentication) is used to provide two-factor protection for all accounts.
  4. Pick your storage – use the built-in SeaweedFS server for single-node or self-hosted cluster deployments, or point Arkfile at Amazon S3, Backblaze B2, Wasabi, Vultr Object Storage, and other S3-compatible storage back-ends.
  5. Runs anywhere – one binary, no external database. (Arkfile uses the lightweight rqlite engine under the hood.)
  6. Offline backup & recovery – export encrypted .arkbackup bundles and decrypt them offline with arkfile-client, no server needed.
  7. Open source – anyone can inspect or improve the code.

3. Local Dev Test Quick Start

sudo ./scripts/dev-reset.sh

The script will:

  • Install all dependencies
  • Set up arkfile system user
  • Start a local SeaweedFS bucket
  • Start a single-node rqlite database
  • Start arkfile app
  • Create arkfile-dev-admin user

4. Key Concepts (Glossary)

  • Privacy-First: The server never learns your files or passwords because everything is encrypted before upload.
  • Encryption (AES-256-GCM): A modern algorithm that scrambles data and checks its integrity at the same time.
  • OPAQUE: A password authentication protocol where the server never sees your password in any form, with built-in validation to ensure strong password security.
  • TOTP: Time-based One-Time Password - generates temporary codes on your phone for extra security.
  • rqlite: A small database that keeps data in sync across nodes without extra setup.
  • SeaweedFS: An open-source S3-compatible storage server that works as a single node or in a cluster.
  • S3-type Storage Backends: Any number of redundant data backup solutions that use erasure coding to ensure extremely high availability of your data.

5. Need More Details?

  • Deployment & Ops Guide – see docs/setup.md
  • API Reference – see docs/api.md
  • Security Architecture – see docs/security.md
  • Privacy - see docs/privacy.md

Support

Questions, comments or bug reports? Email arkfile [at] pm [dot] me / arkfile [at] tutanota [dot] com or open an issue on GitHub.

Please avoid posting sensitive information in public issues.


Donate

If you wish to contribute to development efforts, please consider making a donation:

  • Bitcoin (On-chain): < contact via email for a one-time donation address >
  • Bitcoin (Lightning): arkfile@coinos.io
  • Monero (XMR): 8AhcDfG55P5N1pacyB9QoNTYrVGEUsgYnSrvXyHoxc2iWi6M7s4cdWHHXNu6rSjf5jYQ5hGAoR5eo75pRqPAK6hjL4jNMX6

make yourself an ark of cypress wood

Popular repositories Loading

  1. Arkfile Arkfile Public

    Forked from 84adam/Arkfile

    Secure, encrypted file storage, backup & sharing | Private File Vault over S3

    Go 14

  2. seedsigner seedsigner Public

    Forked from SeedSigner/seedsigner

    Use an air-gapped Raspberry Pi Zero to sign for Bitcoin transactions! (and do other cool stuff)

    Python