v0.4.0 — now available

Know your production model is still the model you validated.

signAI monitors behavioral integrity continuously — detecting backdoor attacks, poisoned training updates, supply chain tampering, and inference drift before they cause harm.

🔒 Your weights never leave your machine
$ pip install signai # Attach to any model. Calibrate once. m = monitor.attach(model, num_classes=10) m.calibrate(clean_loader, device="cpu", phase="inference") m.save("./integrity.json") # Score every batch. Catch tampering. m = monitor.load(model, artifact="./integrity.json") result = m.score_inference(x, y) flagged=False score=3.21 tau=17.60 # Anomalous training update detected. result = m.score_training(logits, loss) flagged=True score=29.44 tau=15.03
What we detect

The threats your accuracy metric misses.

A model can maintain high accuracy while behaving maliciously on specific inputs, leaking information, or drifting from its validated baseline. signAI catches this.

Inference

Backdoor attacks

A model that was clean when validated but now responds to a hidden trigger — inserted by a third-party trainer or via supply chain compromise.

Training

Gradient poisoning

Malicious training updates that subtly shift model behavior over time. Detected by monitoring the geometry of parameter updates during fine-tuning.

Supply chain

Model tampering

A model delivered by a vendor or downloaded from a hub that does not behave the way you validated it. signAI flags the drift immediately on first calibration.

Drift

Inference shift

Gradual or sudden change in the model's activation and output distribution — caused by redeployment, quantisation, or serving infrastructure changes.

Benchmark results

Three detectors. Measured on real attacks.

All detectors calibrated at 5% FPR. Results on ResNet-18 / CIFAR-10 with PGD, OOD, model extraction, and backdoor attacks.

v1 · Mahalanobis

Fast. No GPU required.

General purpose. Best starting point for any model.

Backdoor
0.60
PGD / OOD
1.00
Extraction
1.00
nn · Neural conditional

Higher accuracy on complex geometry.

Better discrimination on large activation spaces.

Backdoor
0.65
PGD / OOD
1.00
Extraction
1.00
assoc · Blockwise association

Best on high-dimensional spaces.

Captures correlation structure across activation blocks.

Backdoor
0.70
PGD / OOD
1.00
Extraction
1.00
Who it is for

Anyone accountable when a model misbehaves.

signAI is built for teams where a model failure has real financial, safety, or reputational consequences.

Fintech

Credit & fraud models

Know that the model making credit decisions today matches what your risk team validated last quarter — whether it's a deep network or a gradient boosting ensemble.

Healthcare

Clinical decision support

Detect drift or tampering in models used for diagnosis or risk stratification before it reaches a clinician.

MLOps teams

Production monitoring

A single monitor that catches behavioral anomalies across inference and training — without exposing model weights or raw inputs to a third-party service.

AI security

Supply chain integrity

Verify that a model received from a vendor, fine-tuned by a contractor, or downloaded from a hub behaves exactly as the clean reference you validated.

Privacy by design

Your weights never leave your machine.

signAI is built so privacy is enforced structurally, not by policy.

  • Feature extraction runs entirely on your machine
  • Only compact s and z float vectors are transmitted — typically under 100 bytes per score call
  • Raw vectors are discarded immediately after scoring
  • Only {timestamp, score, flagged, phase} is stored in history
  • Model weights, raw inputs, and gradients never move

You can run fully local with no server at all. The server mode adds history, alerts, and audit export — but never sees your model.

What leaves your machine

Only behavioral vectors

Two small float arrays — dimensionality ~10–50 — summarising how your model responded. Not the model, not the inputs.

What stays with you

Everything else

Model weights, training data, raw inputs, gradients, predictions. All remain in your environment, always.

Model support

Works with the models you actually run.

signAI's extractor plugin system is designed to extend to any model type. Current and roadmap support:

Available now

PyTorch classifiers

CNNs, ViTs, HuggingFace classification models. Auto-selected via monitor.attach().

Available now

Large language models

HuggingFace generative models and any model over 200M parameters. Constant memory regardless of model size.

Roadmap

Gradient boosting

XGBoost, LightGBM, CatBoost, sklearn ensembles. Highest priority — fintech teams run these for credit and fraud.

Roadmap

TensorFlow, JAX, ONNX

Framework extensions via the same extractor plugin interface. TF2/Keras first, then JAX/Flax, then ONNX inference-only.

Deployment modes

Same scoring API, different routing.

Start local. Graduate to a server when you need history, alerts, and multi-model dashboards. Your code doesn't change.

Mode 1

Local artifact

Load integrity.json and score in-process. No server, no network. Best for notebooks and air-gapped environments.

Mode 2

Self-hosted server

Run signai-server inside your VPC. File or Postgres-backed. Full history, alerts, and audit export.

Mode 3

Air-gapped

Same remote API contract against a private internal host. No internet connectivity required. No model data leaves your network.

Mode 4

Hosted cloud

Point the SDK at a managed endpoint. Centralised artifacts and scoring history — features extracted locally, always.

Quick start

Three lines to your first integrity score.

Attach, calibrate, save. Then load and score in your inference or training loop.

Inference monitoring

  • Attach a monitor with monitor.attach()
  • Calibrate on clean data with phase="inference"
  • Save the artifact — reload anytime
  • Call score_inference(x, y) in your serving loop
  • React to result.flagged however you need
from signai import monitor

m = monitor.attach(model, num_classes=10)
m.calibrate(clean_loader, device="cpu",
            phase="inference")
m.save("./integrity.json")

m = monitor.load(model,
                 artifact="./integrity.json")
for x, y in test_loader:
    result = m.score_inference(x, y)
    if result.flagged:
        route_to_fallback(x)

Training monitoring

  • Calibrate with phase="training" — pass your optimizer and criterion
  • Score after every optimizer.step()
  • Catches gradient poisoning and unexpected parameter drift
  • Works alongside inference monitoring — same model, different artifact
m = monitor.attach(model, num_classes=10)
m.calibrate(train_loader, device="cpu",
            phase="training",
            optimizer=optimizer,
            criterion=criterion)
m.save("./integrity_train.json")

m = monitor.load(model,
                 artifact="./integrity_train.json")
for x, y in train_loader:
    logits = model(x)
    loss = criterion(logits, y)
    loss.backward()
    optimizer.step()
    result = m.score_training(logits, loss)
    if result.flagged:
        quarantine_update(result)
Early access

Selective access, reviewed individually.

We review every application before granting access. signAI is a fit for ML teams running production models where behavioral integrity is a real requirement.

Individual

One seat, full stack.

All three detectors, local and server deployment, 30-day scoring history.

$79 /month

Save up to 37% on longer durations.


  • 1 seat
  • v1, nn, and assoc detectors
  • 30-day scoring history
  • Alerts, audit export, all server features
  • Local artifact + server deployment modes
1 month $79
3 months $199 save $38
6 months $349 save $125
12 months $599 save $349
Apply for access

How it works: Send an application email describing your use case. We review it within one business day and reply with a Stripe payment link for your chosen plan and duration. Once payment clears, your license key is delivered automatically.

Documentation

Everything needed to evaluate and deploy.

README

Overview

What signAI is, what it detects, the public API, and how to get started in five minutes.

README.md →

Manual

User manual

Full walkthrough — classifier and LLM quick starts, detector selection, daemon server, custom extractors.

USER_MANUAL.md →

Deploy

Deployment guide

Local, self-hosted, Render, HuggingFace Spaces, air-gapped. Upgrade path from previous versions.

DEPLOY.md →

Privacy

Data boundary

Only compact behavioral vectors transmitted. Model weights, inputs, and gradients stay in your environment.

Privacy model →