🦀">
Technology

What is actually inside

Most of this page is a list of limits. That is deliberate: a compiler on a phone is only interesting if you can tell exactly which compiler, running under exactly which budgets, and where it stops.

The toolchain

Bundled rustc1.96.0-dev
Targetwasm32-wasip1
Toolchain artifactartifacts-test-7
Downloaded at runtimeNothing. The compiler ships in the app bundle and is verified by SHA-256 at build time.
InterpreterWasmKit, in the app's own process. No JIT, no dynamic code loading, no daemon.

A pinned compiler is older than the current Rust release. Code that relies on an API stabilised after 1.96 will not build here even though a current laptop toolchain accepts it. The version is shown in the app under Settings → Local compiler, not buried.

What your program is allowed to do

Network from your programNone. There are no socket imports to call.
MemoryCapped, and the guest is stopped when it exceeds the cap.
Writable filesystemOne directory, with byte and file-count limits.
OutputBounded, so a runaway loop cannot fill storage.
Wall clock and instructionsBoth budgeted. fn main() { loop {} } is stopped by Stop, not left to run.
Host processesNone are spawned. The project terminal is a simulated shell over the project's own files.

Cargo, and the part of it that works

Crabrix implements the dependency pipeline itself rather than shipping Cargo: sparse-index resolution against crates.io, SemVer ranges, feature unification, resolver 1/2/3 semantics, rust-version checks, target cfg filtering, a real Cargo.lock, SHA-256-verified downloads, dependency compilation, and --extern linking.

Registrycrates.io sparse index, source verified by checksum before anything is written
Dependency sourceCompletely viewable in the app; Vendor & Edit copies it into your project and compiles your patched copy
OfflineCached graphs rebuild with no network; Pin for Offline keeps the exact verified archives after iOS purges its caches
Build scripts (build.rs)Not executed
Procedural macrosNot supported — they need a host compiler the app does not bundle
Native C or system librariesNot supported; there is no native linker for this target

Every package is labelled from real build outcomes: Link verified when its artefacts linked, Check verified when only metadata was produced, Needs review, or Unsupported with the reason.

What it cannot do

Privacy, stated as a property of the build

There is no account, no analytics SDK, no advertising, and no tracking. Game Center and any leaderboard are not switched off in this version — they are not compiled into it, and a continuous-integration step fails the build if either returns. The only network requests are the package and repository downloads you ask for.

How to check any of this

The source is on GitHub, and each release carries an evidence folder with toolchain hashes, dependency inventory, test results and the measurements behind these claims.