AuxAI

Integrate

Add an independent trust layer to any AI system you already run.

No retraining your model. No exposing its weights. No rewrite of your inference loop beyond a few lines. This page is the complete path from "nothing installed" to "a fault gets caught and healed automatically", everything below is real, working code, not a diagram of an idea.

1. Install

pip install AuxAI-sdk

Python 3.9+. No GPU required to run the trust layer itself.

2. Configure once

Thresholds live in one YAML file, not scattered across your codebase.

# AuxAI.config.yaml, one file, thresholds tuned to your model's
# real score distribution, not shipped as placeholders.

tier0:
  fingerprint_source: fleet        # never "self"
  check_every_n_frames: 1

meta:
  canary_interval_seconds: 5
  checks: [canary, output_sanity, jitter, fleet_consistency]

tier1:
  drift_test: page_hinkley
  sustained_window: 30             # inferences, not a single spike
  ood_threshold: auto              # calibrated against a held-out split

remedy:
  fine_tune_on_confirmed_drift: true
  validate_before_hot_reload: true
  max_rollback_versions: 5
  escalate_after_repeat_faults: 3  # then stop retrying, alert a human

3. Call it from your inference loop

from AuxAI import TrustLayer

trust = TrustLayer.from_config("AuxAI.config.yaml")

output = my_model.predict(input_batch)

result = trust.evaluate(
    model_output={                    # whatever your model already computes
        "embedding": output.embedding,
        "confidence": output.confidence,
        "prediction": output.prediction,
    },
    sensor_reading=telemetry.snapshot(),   # optional, any extra context you have
)

if not result.trusted:
    actuator.hold()                        # veto the action before it happens
    log.warn(result.decision, result.trust_score)

4. What you get back

A diagnosis, not just a number.

Every call returns which tier flagged the problem and what it recommends, so your system can react differently to "the monitor itself is compromised" versus "the model is seeing something new", the two require completely different responses.

TrustDecision(
    trusted=False,
    reliability_score=0.11,          # 0.0 - 1.0, T x H combined
    diagnosis="tier0_hash_mismatch", # which tier flagged it
    recommended_action="quarantine_and_resync",
    tier_results={
        "tier0": "fault",
        "meta": "ok",
        "tier1": "ok",
        "integrity": "not_evaluated",
    },
)

Not on Python, or the model runs elsewhere?

Run it as a sidecar. Any language reaches it the same way.

A C++ perception stack, a Rust control loop, a Go microservice, all of them can call the same three-field evaluate() contract over a local REST or gRPC endpoint, with the trust layer running as its own lightweight container next to the model it's watching.

# docker-compose.yml, run the trust layer as a sidecar next to
# any model-serving container, regardless of what it's written in.

services:
  my-model:
    image: your-org/your-model:latest

  AuxAI-sidecar:
    image: AuxAI/sidecar:latest
    volumes:
      - ./AuxAI.config.yaml:/etc/AuxAI/config.yaml
    ports:
      - "8500:8500"   # local REST/gRPC endpoint for the evaluate() call

Full endpoint reference

The same sidecar also exposes a complete HTTP API, not just the one call.

Method & path Purpose
GET /healthLiveness check
POST /v1/monitor/frameSubmit a raw model output for the trust layer to evaluate
POST /v1/monitor/reportSubmit an already-computed result from an external pipeline, recorded as-is
GET /v1/monitor/statusLatest status for one unit
GET /v1/monitor/historyRecent frame history for one unit
GET/PUT /v1/configRead or update runtime thresholds live, no restart required
POST /v1/fl/submit-updateSubmit a client update for federated aggregation
GET /v1/fl/global-modelFetch the current fleet-verified global model state

Before a real deployment, not just a demo

A short checklist, the same one we run internally.

FAQ

What people ask before their first integration.

Does this require access to my model weights?

No. The SDK is black-box by design, it reads outputs only (embedding, confidence, prediction). This is deliberate: it means the trust layer works even for models you can't or won't expose internals of, and it can't itself become a vector for extracting your model.

What if my model doesn't output an embedding?

Most models already compute one internally (the penultimate layer, or a pooled feature map) even if it is not normally exposed, exposing it is usually a one-line change. If truly unavailable, Tier 0 and Meta still run fully; only Tier 1 drift detection needs it.

Can it run fully offline, with no fleet connection?

Yes. Detection, diagnosis, and local remedy (fine-tune, validate, rollback) all run in-process with no network dependency. Only the fleet-wide trust anchor and cross-unit learning need connectivity, and those degrade gracefully, buffering and syncing when a connection returns.

What language is the SDK written in?

Python natively today. Any other language reaches it over a small local REST/gRPC call to the same evaluate() logic running as a sidecar, shown above, the wire format is three JSON fields in, one decision object out.

What's the actual performance cost?

The trust layer itself is roughly 154x smaller in parameter count than a typical perception model it might audit, and Tier 0/Meta/Tier 1 run in-process, in the same inference loop, adding a single forward pass through a much smaller network.

Stuck on an integration, or running something unusual?

AuxAI was built to be model- and language-agnostic from day one. If your setup doesn't fit the patterns above, that's a conversation, not a dead end.