Forecast shadow AI unseen exposure loss

Estimate AI services missed by every detector with a Bayesian zero-truncated binomial capture–recapture model, then simulate scenario-dependent visibility, incidents, common provider exposure, usage, value disruption and lognormal loss to produce unseen-inventory and economic VaR/CVaR tails.

What it's for

Quantifies the part every inventory dashboard hides: how many AI services likely evade all current detectors, the uncertainty around that number and the correlated financial downside.

What you give it

Inputs split into evidence read from your connected systems, calibration your team owns, and numerical controls that affect precision but never the result's meaning.

Field Type Role Required
capture_histogram array of objects (6 fields) Evidence Yes
capture_probability_grid_size integer ≥ 201, ≤ 10001 Your calibration Optional
current_exposures array of objects (18 fields) Evidence Yes
max_detail_rows integer ≥ 1, ≤ 500 Numerical control Optional
minimum_observed_services integer ≥ 1, ≤ 1000000 Your calibration Optional
random_seed integer ≥ 0, ≤ 4294967295 Your calibration Optional
scenarios array of objects (8 fields) Evidence Yes
simulation_count integer ≥ 1000, ≤ 1000000 Your calibration Optional
tail_probability number > 0, < 1 Your calibration Optional
usage_exposure_unit number > 0 Your calibration Optional

Each current_exposures record

Field Type Required
capture_prior_alpha number (> 0) Yes
capture_prior_beta number (> 0) Yes
containment_fraction number (≥ 0, ≤ 1) Yes
current_observed_service_count integer (≥ 1) Yes
data_sensitivity_multiplier number (≥ 0) Yes
evidence_verified boolean Yes
fixed_response_cost number (≥ 0) Yes
id string (non-empty) Yes
incident_detection_probability number (≥ 0, ≤ 1) Yes
incident_prior_alpha number (> 0) Yes
incident_prior_beta number (> 0) Yes
loss_prior_log_mean number Yes
loss_prior_log_sd number (> 0, ≤ 5) Yes
monthly_usage_events_per_service number (≥ 0) Yes
provider_group_id string (non-empty) Yes
service_class string (non-empty) Yes
value_at_risk_per_service number (≥ 0) Yes
value_disruption_fraction number (≥ 0, ≤ 1) Yes
Example input
{
  "capture_histogram": [
    {
      "captured_by_source_count": 1,
      "detection_source_count": 3,
      "evidence_verified": true,
      "id": "coding-capture-1",
      "observed_service_count": 10,
      "service_class": "coding-assistant"
    },
    {
      "captured_by_source_count": 2,
      "detection_source_count": 3,
      "evidence_verified": true,
      "id": "coding-capture-2",
      "observed_service_count": 15,
      "service_class": "coding-assistant"
    },
    {
      "captured_by_source_count": 3,
      "detection_source_count": 3,
      "evidence_verified": true,
      "id": "coding-capture-3",
      "observed_service_count": 25,
      "service_class": "coding-assistant"
    }
  ],
  "current_exposures": [
    {
      "capture_prior_alpha": 2,
      "capture_prior_beta": 2,
      "containment_fraction": 0.5,
      "current_observed_service_count": 20,
      "data_sensitivity_multiplier": 1,
      "evidence_verified": true,
      "fixed_response_cost": 10000,
      "id": "coding-assistant-current",
      "incident_detection_probability": 0.5,
      "incident_prior_alpha": 1,
      "incident_prior_beta": 19,
      "loss_prior_log_mean": 6.907755278982137,
      "loss_prior_log_sd": 0.5,
      "monthly_usage_events_per_service": 1000,
      "provider_group_id": "external-ai-providers",

Truncated for display — the full payload is 75 lines.

What you get back

This is the actual output of running the example above — computed by the same function the platform calls, not an illustration.

Example output
{
  "assumptions": [
    "Detection sources are sufficiently distinct after conditioning on service class, every detected service has a complete capture count and the zero-truncated binomial is stable across the forecast horizon.",
    "The posterior predicts services missed by every represented detector; scenario visibility changes per-source capture odds coherently before negative-binomial unseen counts are drawn.",
    "Incident priors are calibrated per usage exposure unit; aggregate monthly usage and scenario multipliers compound that probability before incidents are drawn.",
    "Common provider states, value disruption and lognormal loss are tenant-calibrated at aggregate service-class grain with no person-level inference."
  ],
  "counts": {
    "capture_histogram_rows": 3,
    "provider_groups": 1,
    "scenarios": 2,
    "service_classes": 1,
    "simulations": 2000,
    "supported_exposures": 1
  },
  "decision": "review_shadow_ai_unseen_tail_exposure",
  "exposure_forecasts": [
    {
      "expected_affected_unseen_services": 0.0245,
      "expected_loss": 376.8839,
      "expected_unseen_services": 0.441,
      "exposure_id": "coding-assistant-current",
      "historical_observed_services": 50,
      "posterior_mean_per_source_capture_probability": 0.7472,
      "provider_group_id": "external-ai-providers",
      "service_class": "coding-assistant",
      "support_gate_pass": true,
      "unseen_services_p95": 2
    }
  ],
  "forecast": {
    "conditional_value_at_risk": 7537.6784,
    "expected_loss": 376.8839,
    "expected_unseen_services": 0.441,
    "median_loss": 0,
    "tail_probability": 0.05,
    "unseen_services_p95": 2,
    "value_at_risk": 0
  },
  "limitations": [
    "Positive detector dependence, fingerprint fragmentation, new service classes, personal devices or deliberate evasion can make unseen exposure materially larger than this model.",
    "Capture-recapture estimates inventory missingness, not employee intent, misconduct, nationality, loyalty or employment suitability."
  ],
  "method": "bayesian_zero_truncated_binomial_capture_recapture_shadow_ai_loss_v1",

Truncated for display — the full payload is 56 lines.

How it works

Sequential Bayesian & bandits — Learn while deciding — update beliefs as evidence arrives and choose where the next unit of effort is worth spending.

  1. 1 Fit per-class capture probability from the complete positive capture-count histogram across stable detection sources using a Beta prior and zero-truncated binomial likelihood.
  2. 2 Apply coherent visibility scenarios, draw services missed by every detector with a negative-binomial posterior predictive, and compound incident probability over tenant-calibrated aggregate usage exposure units while preserving common provider incidents.
  3. 3 Price controlled incident severity and disrupted value at aggregate class grain, report support and abstain when multi-source history is sparse or unverified.

Before you trust it

Every tool in the catalog ships with the conditions under which its answer is meaningful — and the conditions under which it should abstain instead of guessing.

Assumptions & guardrails

  • The likelihood or reward model, prior support, action logging, delayed outcomes, and any stationarity assumptions match the deployment process.
  • Detector dependence is adequately conditioned by service class, capture cells include every detected service, fingerprints are stable and the capture process transports to the forecast window.
  • Posterior probability and adaptive selection are model-conditional; they are not substitutes for randomized propensities or guaranteed safety.
  • The model estimates missing aggregate services, not employee evasion, intent, guilt, nationality, loyalty or employment suitability.

Minimum evidence

  • capture_histogram: required and organization-defined
  • current_exposures: required and organization-defined
  • scenarios: required and organization-defined

How to validate it

Use chronological train/calibration/test windows, compare proper scores and decision value with a simple baseline, and recalibrate only from outcomes resolved after prediction time.

Calibrating it to your org

Same for everyone

The mathematical kernel, validation rules, method version, and JSON output semantics are organization-independent; no tenant-trained coefficients or company benchmark is embedded in the function.

Specific to you

  • versioned multi-list capture history joining normalized service fingerprints to every eligible detector and retaining one through all-source capture counts, plus finance-reconciled aggregate incident outcomes and common provider states
  • service-class stability, detector eligibility/dependence, fingerprint identity, capture window, completeness, priors, support floor, forecast transport, usage exposure/value/loss units, provider groups/scenarios, controls, tail appetite and risk owner

Calibration workflow

  1. 1 Define the management decision, target outcome, aggregate unit, privacy boundary, cadence, and prediction/intervention horizon for this organization.
  2. 2 Build a tenant-scoped historical cohort using only information available before each prediction or decision; preserve zero periods, censoring, assignment probabilities, and unresolved outcomes when the method requires them.
  3. 3 Estimate statistical parameters on training history, but obtain costs, utilities, risk tolerance, practical-effect thresholds, capacity, and policy constraints from accountable decision owners.
  4. 4 Validate on later time windows or held-out aggregate units at the deployment grain, against a simple baseline and the function-specific validation strategy.
  5. 5 Deploy only if the returned decision clears evidence, overlap, calibration, robustness, and guardrail checks; warning, unsupported, schema-gap, and fallback decisions are abstentions.
  6. 6 Monitor realized outcomes, data drift, coverage, and decision regret; recalibrate at a governed cadence or after a detected regime/definition change, never merely because a stakeholder dislikes the result.

Call it from your AI

You don't wire up 388 tools in your MCP client. The GitRevio MCP server exposes 18 tools, three of which let an agent search the catalog, read a tool's schema, and run it — so the assistant finds this one on its own.

gitrevio_capabilities_search
  { "q": "estimate ai services missed by every" }
  → finds "forecast_shadow_ai_unseen_exposure_loss"

gitrevio_capability_describe
  { "capability_id": "forecast_shadow_ai_unseen_exposure_loss" }
  → returns the input schema and agent guidance shown on this page

gitrevio_capability_run
  { "capability_id": "forecast_shadow_ai_unseen_exposure_loss", "arguments": { ... } }
  → returns the result shown above

Works in Claude Desktop, Claude Code, Cursor, Cline, Continue.dev, Goose and Aider. See the MCP server.

Related tools

Audit shadow AI inventory integrity

Reconcile the approved AI-service registry against gateway, DNS/CASB, SSO, expense and provider evidence by deduplicating canonical aggregate usage events, then audit registration, status, domain/data-class policy, broker routing, contracts, security/privacy review, telemetry completeness and reported usage/spend.

Constrained optimization

Optimize shadow AI governance portfolio

Choose block, broker, migrate, allow-with-controls or monitor policy for each aggregate shadow-AI service class, maximizing expected value minus loss CVaR under residual-exposure, detection, control, dependency, exclusion, budget and resource gates while pricing common provider value at risk once through joint survival.

Forecasting & survival

Audit agentic action control integrity

Audit operational AI-agent actions from bounded least-privilege permission scope through independently tested authorization, approval, sandbox, monitoring, rollback or compensation, and kill-switch controls, counting unique value exposure once.

Statistical audit & measurement

Audit AI configuration release integrity

Audit that the exact immutable AI configuration bundle evaluated and approved is the bundle exposed in every staged rollout, with consecutive parent lineage, complete blast-radius declaration, effective runtime controls, monotone traffic and a tested prior-version rollback path.

Causal inference & experiment design

Audit AI data rights provenance integrity

Audit every AI training, fine-tuning, retrieval, evaluation, logging and persisted-output use against an immutable rights grant and the complete derivative lineage, including time, revocation, deletion, purpose, jurisdiction, consent, derivative and evidence gates.

Statistical audit & measurement

Audit AI evaluation contamination integrity

Audit frozen AI evaluation suites for temporal or answer leakage, model-version mismatch, incomplete pre-label predictions, weak label provenance, missing subgroup support, cross-suite case reuse and near-duplicate content components before evaluation scores are trusted.

Forecasting & survival

See every tool in AI risk, rights & assurance →

Ready to See Your Engineering work clearly?

Request a free demo