Build AI. Prove trust.
One platform you run yourself to train, serve and govern AI, on your own GPUs or any European cloud. Every model in production traces back to the run, the data, the tests and the people that put it there.

One platform instead of six tools.
Experiment tracking, GPU scheduling, model serving, an AI gateway, LLM observability and AI governance usually come from different vendors, each with its own copy of your data. In EUVYRA they share one data model, so a question about a model in production has one answer.
Experiments
Runs with config, metrics, GPU load, media and histograms, charts across runs, sweeps, reports, and the exact dataset versions each run used.
Compute
Training jobs on your Kubernetes cluster or GPU machines through an agent that pulls work, with queues, quotas, cost per run and multi-node training.
Cloud machines
GPUs ordered from Hetzner, Scaleway, OVHcloud, AWS or Google Cloud while work waits, and deleted when idle, inside a budget a person sets.
Serving and gateway
vLLM, llama.cpp or any container on your GPUs, or EU model providers, behind an OpenAI-compatible gateway.
Observability and evaluations
Traces of every LLM and agent call with tokens, cost and latency; versioned test suites, regression gates for CI and human review.
Releases and approvals
Models and prompts with immutable versions; releases with approvals bound to people's functions, canary and shadow rollouts, and rollback.
Governance
An inventory of AI systems, AI Act risk classes, controls checked against real evidence and signed evidence packages.
Assurance
Which of the AI Act, NIS2, DORA and the GDPR apply to you, a supplier register, and incident clocks for all four.
Security and sovereignty
Self-hosted, an outbound allowlist that starts empty, personal data redacted twice, and an audit log nobody can quietly rewrite.
The answer to every audit question, recorded while you work.
The trust chain links each production release to how it was built, how it was tested, who approved it and how it behaves today. Engineers get a developer tool. Auditors get the proof. It is the same data.
Build
Training runs, dataset versions with content hashes, the git commit and the artifact digest, captured as you train.
Evaluate
Test suites and regression gates run on the exact version you are about to ship.
Approve
Engineering, data protection and compliance sign in sequence. Nobody approves their own release.
Deploy
Direct, canary or shadow rollouts, and one-step rollback to the previous approved release.
Prove
A signed evidence package per AI system that an auditor can verify offline.
See every training run and every model call.
Log metrics, system load, images and gradient histograms from training with a few lines of Python, or offline on a machine without network access and sync later. Bayesian sweeps run on as many machines as you like and stop weak trials early. Trace agents and retrieval pipelines down to each tool call, with tokens, latency and cost per request.
Already using OpenTelemetry? Point your exporter at EUVYRA. It reads the GenAI semantic conventions and OpenInference, so existing instrumentation keeps working.

Train on your GPUs. Rent more by the hour.
An agent runs next to your hardware, in a Kubernetes namespace or on a single machine such as a DGX Spark, and pulls work from EUVYRA. Nothing has to reach into your network. Each job gets its run, its cost and its full log, and each cluster gets a page with its nodes, its GPUs and what runs on them.
When your own GPUs are busy, a pool orders machines from Hetzner, Scaleway, OVHcloud, AWS or Google Cloud while jobs wait, and deletes them once they have been idle. A person sets the monthly budget and the machine limit; EUVYRA never orders past them.

Serve only what was approved.
Run open models with vLLM or llama.cpp on your own GPUs, any container that speaks HTTP, or an EU provider's API. Applications reach them through one OpenAI-compatible gateway, and it answers only for releases that passed their evaluation gate and their approvals.
The gateway masks personal data before a request leaves, traces and prices every call, and holds each API key to its own monthly budget and rate limit. Existing OpenAI clients only change their base URL.

Know which model is better before your customers do.
Run both candidates on the same test cases. The gate decides whether the new one may go to approval.
| Metric | Model A | Model B |
|---|---|---|
| Accuracy | 91.2% | 94.8% |
| Faithfulness | 89.5% | 96.1% |
| Average latency | 2.1 s | 1.4 s |
| Cost per 1,000 requests | €4.80 | €3.20 |
Release gate passed. All quality thresholds met. Ready for human approval.
Compliance evidence that comes from the work itself.
Classify each AI system under the AI Act, with a second person approving the result. Controls for the AI Act, the GDPR and ISO/IEC 42001 check themselves against your runs, evaluations, releases and logs.
A control someone marked as done while its evidence fails is shown as contradicted. Every change lands in an audit log whose entries are chained by hash, so nobody can quietly rewrite history.

One incident. Every clock.
A model outage can be a significant incident under NIS2, a major incident under DORA and a personal data breach under the GDPR at the same time, each with its own authority and deadline. EUVYRA works out which apply, starts every clock and drafts each report.
NIS2Significant incident
- 24 hEarly warning
- 72 hIncident notification
- 1 monthFinal report
DORAMajor ICT-related incident
- 4 hInitial notification after classification
- 72 hIntermediate report
- 1 monthFinal report
GDPRPersonal data breach
- 72 hSupervisory authority
- PromptlyAffected people, without undue delay when the risk is high
AI ActSerious incident
- 15 daysReport to the market surveillance authority
- 2 or 10 daysFor widespread infringements or a death
Your data stays where you decide.
EUVYRA runs on infrastructure you choose. It does not phone home, and it says so in a report generated from its own configuration. Security and sovereignty in detail
- Runs on your infrastructure
- Docker Compose or Helm on any Kubernetes cluster, with PostgreSQL and S3-compatible storage that you control and encrypt. Training jobs run on your own GPUs.
- Nothing leaves without permission
- Outbound connections are off unless a host is on the allowlist. The Helm chart enforces the same list as a network policy.
- Personal data redacted twice
- Once in the SDK before anything is sent, and again on the server. End-user identifiers are pseudonymized on arrival.
- Proof without trusting us
- Evidence packages are signed with Ed25519 and verify offline, without contacting EUVYRA or anyone else.
- Neutral by design
- No model of our own to sell and no cloud to fill. Run open models on your GPUs, call EU providers, rent machines from five clouds, and change your mind later.
- Evidence from records, not questionnaires
- Runs, releases, gateway traffic and incidents are the evidence. Nobody retypes them into a compliance tool, so the answer an auditor gets matches what happened.
This site loads no external fonts, scripts or trackers either.
A few lines of Python.
Wrap your training loop and EUVYRA records the configuration, every metric, the git commit, system load and the model file. Tracing an LLM app works the same way, or through OpenTelemetry if you already use it.
Then run it on your own GPUs: euvyra launch queues the job for an agent in your Kubernetes cluster, on a GPU workstation, or in a pool of rented machines. Every job lands as a run with its cost and full log.
Your AI assistant can do the same. Claude, ChatGPT, Cursor and other assistants connect over MCP and act as the person who signed them in. Approvals, sign-offs and anything that spends money stay with people.
import euvyra
with euvyra.init(project="medical-ai") as run:
run.config({"lr": 0.001, "epochs": 50})
for epoch in range(50):
loss = train_model()
run.log({"loss": loss}, step=epoch)
run.log_model("model.pt")Coming from another tool?
What EUVYRA offers for the work you do today, and how to bring your history along.
Neptune.ai
The hosted service shut down on 5 March 2026. Export your runs with Neptune's own tool and load them into a platform you control.
Weights & Biases
Runs, sweeps, artifacts and reports, plus jobs on your GPUs.
euvyra import wandbcopies runs with their full metric history.Langfuse
Traces, evaluations and prompts, plus an approval step between a prompt or model and production traffic.
MLflow
Experiment tracking and a model registry, plus releases with approvals.
euvyra import mlflowreads an mlruns folder directly.
Questions teams ask first
Where does EUVYRA run?
On infrastructure you choose: Docker Compose on one server, or Helm on any Kubernetes cluster, with PostgreSQL and S3-compatible storage that you operate. Training jobs and model endpoints run on your own GPUs or on machines EUVYRA orders for you from Hetzner, Scaleway, OVHcloud, AWS or Google Cloud.
Does any data leave our installation?
Only to hosts on your outbound allowlist, which is empty unless you fill it. The data residency page is generated from the running configuration and lists every outbound attempt, including the blocked ones.
Does EUVYRA make us compliant with the AI Act?
No software can do that for you. EUVYRA collects evidence from your technical records, checks controls against it and drafts incident reports, but it does not certify conformity, and its risk classification is a documentation aid, not legal advice. The AI Act guide explains what applies when.
Can we keep our OpenAI client code?
Yes. The gateway speaks the OpenAI API, so existing clients change only their base URL and API key. The model name is the AI system, and the gateway sends the request to the release that was approved for it.
How do we bring our experiment history?
euvyra import wandb and euvyra import mlflow copy runs with their configuration, metrics and history. The guides for Weights & Biases, MLflow and Neptune.ai walk through it.
Who is EUVYRA for?
Engineering and compliance teams at European companies that build or run AI and want both jobs done from the same records. The assurance features are aimed at companies with fewer than 750 people that answer to several of the AI Act, NIS2, DORA and the GDPR at once.
Run it yourself today.
One command starts the database, object storage, API, worker and console. A seeded demo organization shows every feature with realistic data.
# fill in the secrets first
cp deploy/.env.example deploy/.env
docker compose -f deploy/docker-compose.yml up -d --build
docker compose -f deploy/docker-compose.yml exec api euvyra-server seed-demoThen sign in as demo@euvyra.local and explore a radiology triage model, a support assistant and the approvals waiting for you. Kubernetes users install the Helm chart; the developer page has the details.