Nomyo Router Plugin

Zero-config AI infrastructure discovery for aissurance compliance.

Overview

The Nomyo Router plugin transforms your existing Nomyo Router deployment into a compliance agent. With a single configuration block, Nomyo Router periodically reports model inventory, endpoint registry, routing configuration, traffic telemetry, and conversation affinity data to aissurance — eliminating manual data entry.

Prerequisites

  • Nomyo Router v0.7+ deployed and managing your AI endpoints
  • aissurance account with an active API key (AISSURANCE_KEY)
  • TLS 1.3 available for outbound connections

Installation

1. Get Your API Key

From your aissurance dashboard, navigate to Discovery Configuration and generate a new API key. This key is separate from your Nomyo Router’s own authentication.

2. Configure Nomyo Router

Add the compliance block to your Nomyo Router config.yaml:

# config.yaml — Nomyo Router compliance extension
compliance:
  enabled: true
  server_url: "https://app.aissurance.eu/api/discovery"
  api_key: "${AISSURANCE_KEY}"  # Provided by aissurance onboarding
  polling_interval: 300  # Report every 5 minutes
  batch_size: 50

3. Restart Nomyo Router

systemctl restart nomyo-router

4. Verify Connection

Check the discovery status in your aissurance dashboard under Discovery Dashboard. You should see:

  • Connection status: Active
  • Last sync time: Within last polling interval
  • Models discovered: Count of detected models
  • Endpoints connected: Count of active inference backends

What Gets Reported

Nomyo Router sends the following data to aissurance:

Model Inventory

  • Model name, version, quantization, size
  • Associated endpoint URL
  • Last used timestamp
  • Request count (24h window)
  • Average latency

Endpoint Registry

  • Backend URL and type (Ollama, vLLM, OpenAI, etc.)
  • Health status
  • Concurrent connection count

Traffic Telemetry

  • Total requests (24h)
  • Cache hit rates
  • Error rates

Conversation Affinity

  • Topic clusters being routed (e.g., customer_service, code_generation, data_analysis)
  • Used to infer use cases for risk classification

Discovery Payload Format

{
  "tenant_id": "tenant_abc123",
  "timestamp": "2026-06-01T10:30:00Z",
  "router_version": "0.7",
  "models": [
    {
      "name": "mistral-7b-instruct",
      "version": "2.0",
      "quantization": "Q4_K_M",
      "size_gb": 4.1,
      "endpoint": "http://ollama0:11434",
      "last_used": "2026-06-01T10:29:45Z",
      "request_count_24h": 1547,
      "avg_latency_ms": 230
    }
  ],
  "endpoints": [
    {
      "url": "http://ollama0:11434",
      "type": "ollama",
      "status": "healthy",
      "concurrent_connections": 2
    }
  ],
  "telemetry": {
    "total_requests_24h": 3201,
    "total_cache_hits": 892,
    "cache_hit_rate": 0.28,
    "error_rate": 0.003
  },
  "conversation_affinity": [
    "customer_service",
    "code_generation",
    "data_analysis"
  ],
  "hmac_signature": "sha256=abc123..."
}

Security

Authentication

  • Separate API key (AISSURANCE_KEY) for the discovery channel
  • Bearer token authentication on all discovery endpoints
  • TLS 1.3 required for all outbound reporting

Integrity Verification

  • All payloads signed with HMAC-SHA256 using the aissurance key
  • aissurance verifies signatures before processing any discovery data

Deduplication

  • Identical payloads within the polling window are automatically deduplicated
  • Blacklist controls available to block specific IPs or revoked tenant keys

Fallback Discovery Methods

If Nomyo Router is not available, aissurance supports:

Manual CSV Import

Upload a spreadsheet with model inventory details. The platform maps columns to AI system attributes automatically.

Docker API Scan

Detects running containers with AI-related images (Ollama, vLLM, etc.) via the Docker API.

Troubleshooting

Connection Not Established

  1. Verify AISSURANCE_KEY is correct and not revoked
  2. Check outbound TLS connectivity from Nomyo Router to app.aissurance.eu
  3. Review Nomyo Router logs for compliance-related errors

Models Not Appearing

  1. Confirm polling interval is configured correctly
  2. Check that models are actively serving traffic
  3. Verify the discovery dashboard shows successful payload receipt

High Error Rate

  1. Check batch_size — reduce if payloads are too large
  2. Verify HMAC signature generation matches expectations
  3. Contact support at info@aissurance.eu

API Endpoints

EndpointMethodDescription
/discovery/payloadPOSTReceive discovery data
/discovery/healthGETGlobal health status
/discovery/health/tenant/{id}GETPer-tenant health
/discovery/config/reportPOSTReport router config
/admin/discovery/blacklistPOSTManage blocklist