Language integrations
One Rust engine. Explicit capability, qualification, and distribution boundaries.
Native and WebAssembly adapters project Cribra Core semantics. They preserve classification authority, review-only candidates, UTF-8 coordinates, and explicit transformations without creating another detection engine.
Repository evidence reviewed 2026-10-23. Scroll horizontally to compare all four dimensions. An implemented API, a successful consumer, and a published package are separate facts.
| Integration | Implementation | Qualification evidence | Distribution / publication | Capability coverage |
|---|---|---|---|---|
| Rust | Available · cribra 0.7.2 · MSRV 1.97 | Recorded engine CI: Linux full gate, native Linux ARM64, RISC-V64 under QEMU, and macOS/Windows tests. Recorded environments are evidence, not a promise for every platform. Whole-source execution is the semantic reference. | Core 0.7.2 GitHub release and crates.io publication independently verified by the repository audit. | Core: scanning, reports, batch, admitted streaming and incremental documents. Flow (default): four transforms and Share Bundles. Fuse: Flow plus Serde and parallel independent-source scans. These are Cargo feature combinations, not features named core/flow/fuse. |
| C ABI | Available · cribra-capi 0.3.0 · ABI protocol 0.3.0 | Native C ABI gates recorded on Ubuntu, macOS and Windows; real C/C++ consumers and header checks. Later metadata checks were local macOS ARM64 source checks. Explicit ownership and destruction. Borrowed views must not outlive their owner. Existing C evidence does not qualify every FFI language. | Source-built static/dynamic libraries and checked-in header. Cargo publish = false; no registry package asserted. | Scanner configuration, metadata, findings/review, batch, admitted byte streaming, incremental snapshots, four transformations and in-memory Share Bundles. AUTO batches may use parallel scanning only with the adapter parallel feature. |
| WebAssembly | Available · cribra-wasm 0.4.7 · typed JS/TypeScript exports | Existing production browser and Node/Bun/Deno examples. Newer sessions, configuration, batches and Share Bundles checked locally on macOS ARM64 with Node 26.12.0/Bun 1.4.3 against Core oracles. Earlier WASM CI predates source session APIs. New session browser execution and Deno qualification are not established by those local checks; Workers/CSP remain host responsibilities. | Independent 0.4.7 release and registry entry recorded. Published 0.4.7 depends on Core ^0.6; the checkout uses Core ^0.7. Checkout additions do not establish published session APIs or an npm package. | Checkout Core/Flow: configuration, metadata, ordered sequential batch scans, admitted streaming and incremental snapshots. Flow adds transformations and Share Bundles. No Fuse or Rayon parallel API. |
| CLI | Available · cribra-cli 0.4.4 · executable cribra | Repository CLI regression and command-parity contracts. Bundle export is supported on macOS/Linux. A successful scan returns exit code 0 even when findings or review candidates exist. Broader prebuilt-binary platform qualification is not established here. | Build from source with cargo build -p cribra-cli. Registry publication was not established by the compatibility audit; Core releases do not publish the CLI. | Explicit UTF-8 file/stdin scanning, filters, sorting, metadata reports, four transforms and explicit-file bundle export. No directory traversal, streaming session or incremental-document command; parallel execution is library-only. |
| Swift | Available · Core 0.7.2 · UniFFI adapter 0.1.0 | macOS ARM64, Swift 6.4 and external package consumers; recorded Apple CI passed all three packages. ARM64 device/Simulator archives built; Simulator compiled/linked. No device or Simulator execution claim. macOS 13/iOS 16 are declared minimums, not runtime coverage of each OS. Intel slices absent. | Generated local SwiftPM packages and XCFrameworks. No remote SwiftPM publication or signed release established. | Core: configuration, reports, batch, admitted streaming and incremental snapshots. Flow adds transformations/Share Bundles. Fuse adds Core-owned parallel scans. Select one matching Cribra module/package per process. |
| Python | Available · module cribra_uniffi · Core/Flow/Fuse consumers | Installed Fuse wheel on macOS ARM64 CPython 3.11–3.14. Recorded CI includes Linux x86_64, repaired manylinux_2_28_x86_64 and native Windows x86_64 installed-wheel gates. macOS 13 deployment metadata is not runtime qualification on macOS 13. No musl, Linux/Windows ARM64 or Intel macOS qualification established. | Local/CI cribra 0.7.2+fuse wheels. No PyPI publication established; use the documented local build/offline installation. | Core scanning/configuration, batch, admitted streaming and incremental snapshots. Flow adds transformations/Share Bundles; Fuse adds parallel scans. Packaged wheel contains Fuse only. |
| Kotlin/JVM | Available · Core 0.7.2 · adapter 0.1.0 · JDK 17 | Recorded Kotlin 2.4.21/JDK 17 bundle consumers on macOS ARM64, Linux x86_64 and Windows x86_64. Later configuration/session conformance ran locally on macOS ARM64. No Android, Kotlin Multiplatform, other architecture/JDK or external Gradle application qualification inferred. Later local conformance does not update earlier CI evidence. | Local/CI profile JARs and host ZIPs; CI artifacts have retention limits. No Maven Central or other package publication established. | Core/Flow/Fuse with scanning, configuration, batch, admitted streams and incremental snapshots; Flow transformations/Share Bundles; Fuse parallel scanning. One profile JAR and matching native library per classpath. |
Choose a matching profile
For UniFFI consumers, use one matching generated binding, native library, and profile set per
process. Kotlin requires one profile JAR per classpath; Swift requires one package exposing Cribra. Streaming admission and resource limits remain Core-owned.
Planned integrations
These roadmap workstreams are not implemented or qualified integrations:
- Higher-level TypeScript wrapper over existing typed WASM exports
- TypeScript / React Native via UniFFI
- C# / .NET via C ABI
- Go via cgo
- PHP via FFI
See the roadmap and interoperability contract for responsibilities and future qualification gates.