16 breaking releases

Uses new Rust 2024

0.17.0 Jan 6, 2026
0.16.0 Dec 11, 2025
0.15.1 Nov 13, 2025
0.11.0 Jun 23, 2025
0.1.0 Oct 16, 2024

#335 in Authentication

Download history 1658/week @ 2025-09-28 1186/week @ 2025-10-05 1680/week @ 2025-10-12 1455/week @ 2025-10-19 2319/week @ 2025-10-26 1698/week @ 2025-11-02 3721/week @ 2025-11-09 1385/week @ 2025-11-16 166/week @ 2025-11-23 1445/week @ 2025-11-30 1765/week @ 2025-12-07 1556/week @ 2025-12-14 2147/week @ 2026-01-04 2854/week @ 2026-01-11

5,001 downloads per month
Used in aranya-daemon

AGPL-3.0-only

465KB
10K SLoC

Aranya Core

Aranya is lovingly crafted and supported by SpiderOak. Aranya is licensed under the AGPL- if you want to use it commercially, drop us a line!

What's Contained In This Repo

This repo is a cargo workspace for the Rust implementation for the core of the Aranya platform. This is a library that includes the storage module (for DAG and FactDB), crypto module (with default crypto engine automatically selected), sync engine, and runtime client (including policy VM).

It also includes Aranya Fast Channels to enable encrypted channels between 2 peers allowing unidirectional communication.

More documentation on Aranya is provided here: Aranya Documentation.

Get Started

Aranya Core is written in Rust. Additionally, this repo contains tools for our C API wrappers. The full list of dependencies is below.

Dependencies

NOTE: When building with Rust, rustup will automatically download and use the version specified by the rust-toolchain.toml.

NOTE: we have tested using the specified versions above. Other versions of these tools may also work.

Install cargo-make

This repo uses cargo-make as a task runner.

cargo install cargo-make --locked

Usage

cargo-make can be used as a cargo plugin via cargo make <task> or directly as makers <task>.

Note that you must be in the root directory of the repo to run tasks. To view all tasks, run cargo make or see Makefile.toml.

# lists all tasks
makers

# auto-format files
makers fmt

# run all unit tests
makers unit-tests

# run correctness checks
makers correctness

Contributing

Find information on contributing to the Aranya project in CONTRIBUTING.md.

Maintainers

This repository is maintained by software engineers employed at SpiderOak


lib.rs:

Identity and Access Management (IdAM) for Aranya.

Design

Aranya's IdAM system is written in our proprietary language for policy code. The language syntax and logic is described in the [policy lang] spec, while an in-depth explanation of the policy that makes up Aranya's IdAM system can be found in the [default policy].

Aranya's IdAM code makes use of several external functions belonging to other modules, which are callable by the policy via a foreign function interface (FFI) of the APIs made available by a particular module. For details on the cryptographic APIs used by IdAM, see [IDAM crypto]. [IDAM crypto]: https://git.spideroak-inc.com/spideroak-inc/aranya-docs/blob/idam-crypto-apis/src/idam_crypto.md [default policy]: https://github.com/aranya-project/aranya/blob/main/crates/aranya-daemon/src/policy.md [policy lang]: https://github.com/aranya-project/aranya-docs/blob/main/src/policy-v1.md

Dependencies

~27–45MB
~647K SLoC