On-premise · Air-gapped · EU AI Act

Your own AI models, for your own tasks.

SPINALIS turns your data into models you fully own — for any machine-learning or AI task your teams repeat: language, documents, search over your data, images, speech, tables. They run on your hardware, cost nothing per request, and can beat a frontier API on the job you train them for. The audit trail and EU AI Act documentation come from the same run.

  • Nothing leaves your network
  • No per-request bill
  • No lock-in
Three examples, one installationno custom code
  1. Text Understand and route customer messages 77 intents · 1.5B-parameter model 90.3%accuracy
  2. Text + logic Turn business questions into SQL that runs 21 unseen queries · 7B-parameter model 15/39correct answers
  3. Vision Classify retinal photographs and dental X-rays unseen patients · 86M-parameter model 91.7%accuracy

One 16 GB desktop GPU · scored on data the model never saw

What these numbers are — and what they are not.

  • Not customer statistics. Public or synthetic data, not a promise about yours.
  • No ML team involved. One desktop GPU, the platform’s own controls, no custom code.
  • Scored on unseen examples. Same test for every contender, including GPT-5.5.
  • Examples, not limits. Three unrelated jobs on one installation; yours would be the next.

01Is this for you?

Five questions. The honest answer may be “not yet”.

Nothing is sent anywhere — the verdict is worked out in your browser as you answer.

  1. Does any of the data you would use have to stay inside your own network?Client records, patient data, trade secrets, classified material.
  2. Do you pay — or expect to pay — per request for an AI service doing the same kind of task over and over?Routing messages, extracting fields, answering questions over your data, reviewing documents or images.
  3. Would the model's output feed a decision about people, or a safety-relevant process?Credit, claims, hiring, access to public services, diagnosis, critical infrastructure — areas the EU AI Act treats as high-risk.
  4. If a regulator asked tomorrow how that model was built, tested and approved — could you show them?Training data and versions, evaluation, who signed off, and when.
  5. Could you place one machine with a GPU inside your perimeter?A single desktop GPU produced every result on this page.

Your verdict

Answer the questions.

The first two decide the verdict; it appears here as you go.

You are exactly who SPINALIS is for.

Private data, decisions that must be explained, and evidence you would otherwise write by hand. That combination is what the platform was built around.

Start with one model

You would own the model instead of renting one.

Nothing leaves your network and there is no per-request bill. The evidence layer is already in place for the day regulation reaches your use case.

See what it reproduces

Your data may leave — so it comes down to cost.

Answer question 2: if you pay per request for the same task over and over, owning the model usually wins.

No per-request bill to save — so it comes down to your data.

Answer question 1: if any of it has to stay inside your network, that alone makes the case.

An API service is probably the simpler choice today.

If nothing has to stay inside and nothing is paid per request, keep it simple. Come back when data rules or volumes change the equation.

No GPU inside yet? One desktop-class card ran every result on this page; we can advise on hardware.

Short version: yes to 1 plus yes to 3 or no to 4 → built for you. Yes to 1 or 2 alone → you gain ownership and lose the per-request bill. No to both → an API service is simpler for now.

02What it does

Any ML or AI task on your data. Three of them, measured.

One platform trains, checks and serves models across the whole range below. Three unrelated jobs were measured end to end — on one desktop GPU, with no custom code, next to GPT-5.5 on the identical test.

  • Language

    Classify and route · extract fields · summarise and draft · assistants

    Measured: example 1 ↓
  • Answers over your data

    Questions to SQL · questions over documents · semantic search

    Measured: example 2 ↓
  • Vision

    Image classification · object detection · segmentation · visual inspection

    Measured: example 3 ↓
  • Documents

    Invoices, forms, contracts: reading, field extraction, consistency checks

  • Speech and audio

    Transcription · call analytics · sound events

  • Tables and time series

    Risk scoring · forecasting · anomaly and fraud detection

  • Ranking and matching

    Prioritise cases · match records · recommend the next step

  • Your task

    Anything you can show with examples: the data that comes in, the answer you expect out.

    Tell us about it →

Three examples, measured

Example 1 · Text · retail banking

Understand and route customer messages

Route an incoming message to one of 77 handling categories — the triage every retail bank runs today by hand or with brittle rules.

  • Untrained · 1.5B42.3%
  • Trained on SPINALIS · 1.5B90.3%
  • GPT-5.5 via API84.9%

Nine of every ten messages land in the right queue out of 77 — on the same 1,540 messages GPT-5.5 gets 85 of 100.

  • 9,003 labelled messages
  • Qwen2.5 · 1.5B
  • QLoRA · 6 epochs
  • 41 min on one GPU
How this was measured
  • 1,540 messages — 20 per intent — from the public Banking77 test set (CC-BY-4.0), the same messages for every contender; on all 3,080 the trained 1.5B model scores 90.0%
  • The untrained model and GPT-5.5 were given the full list of 77 intents; the trained model learned them from examples
  • Correct means the exact intent; the trained model also drafts a first reply

Example 2 · Text + logic · analytics

Turn business questions into SQL that runs

Ask in plain English; get a query over the point-of-sale and e-commerce database of a coffee roaster — joins, dates, aggregates and all.

  • Untrained · 1.5B4/39
  • Trained on SPINALIS · 1.5B13/39
  • Untrained · 7B12/39
  • Trained on SPINALIS · 7B15/39
  • GPT-5.5 via API18/39

13 of 39 analyst questions answered correctly by the small model you own; the 7B answers 15, GPT-5.5 answers 18. This is the one task on this page where renting is still ahead.

All 39 questions, one square each

Your own 1.5B model13 right · all 13 exact

GPT-5.5 via API18 right · 9 exact

  • Exact the answer the reference query returns, value for value
  • Right, other shape the same figures with extra columns or different rounding
  • Not correct wrong figures, or the query did not run

The solid squares are the point: on exact agreement with the reference query the small model you own is ahead of the frontier API — 13 against 9. GPT-5.5 answers more questions in total (18), but half of those answers come back in a shape an analyst would have to adjust.

  • 93 written pairs · 57 the platform wrote itself
  • Qwen2.5-Coder · 1.5B and 7B
  • QLoRA · checkpoint picked by execution
  • 11 min on one GPU
How this was measured
  • 39 questions about 21 queries that never appeared in training
  • Of the 26 the small model got wrong: 12 queries ran and returned the wrong figures, 14 did not run at all
  • Judged by running the SQL, never by text similarity. Correct answer: the same rows and values as the reference query, with extra columns and rounding forgiven. Exact: the identical result, the platform's own rule
  • Every contender gets the same schema and question; “today” is pinned to the snapshot date for all of them
  • The database is synthetic, modelled on a real business
  • The 1.5B model also trains on 57 question–SQL pairs the platform wrote itself from the training queries, kept only where running the regenerated query reproduced the reference answer
  • Its checkpoint is the one that answered the most held-out training questions correctly — measured by running the SQL during training, not by the loss; training stopped when that stopped improving
  • The 7B model was trained on the 111 written pairs with the platform’s defaults, keeping the default effective batch of 16 laid out as 1 × 16 so it fits a 16 GB card

Example 3 · Vision · medical imaging research

Classify retinal photographs and dental X-rays

Sort a fundus photograph into cataract, diabetic retinopathy, glaucoma or normal; label a tooth region on a panoramic X-ray as caries, deep caries, impacted tooth or periapical lesion.

Retinal photographs · 420 images of unseen patients

  • Trained on SPINALIS · ViT 86M91.7%

Dental X-ray findings · 523 crops from 102 unseen X-rays

  • Trained on SPINALIS · ViT 86M80.7%
  • GPT-5.5 via API30.8%

Nine of ten retinal photographs and eight of ten tooth findings labelled correctly, on patients the model never saw. GPT-5.5 gets three of ten on the X-rays.

  • 3,797 photos · 3,006 crops
  • ViT-Base · 86M
  • defaults
  • minutes on one GPU
How this was measured
  • Fundus split by source image: the platform caught copies of the same photograph on both sides of the first split, and the corrected number is lower (93.3% → 91.7%)
  • Dental: macro-F1 69.3%, with two findings weak (deep caries 49.7%, periapical lesion 47.3%) — the report shows it, not just the average
  • Public research datasets; not medical devices, no clinical claim; patient images are never shown

03Your model or a frontier API?

On your task, a small model you own can beat a frontier API.

A frontier model is broad and rented. A model trained on your task is narrow and yours. The question is not which is smarter in general — it is which does your job better.

Task, unseen test dataSame small model, untrainedGPT-5.5 via APIYour model on SPINALIS
Route customer messages77 intents · 1,540 messages · accuracy42.3%84.9%90.3% 1.5B
Questions to SQL39 questions · 21 unseen queries · correct answers12/39 exact 1218/39 exact 915/39 exact 14 · 7B
Dental X-ray findings523 crops · 102 unseen X-rays · accuracy—30.8%80.7% 86M

Message triage

+5.4 points

Your own 1.5B model against GPT-5.5, on the same 1,540 messages.90.3% vs 84.9%

Dental X-rays

+50 points

Where broad world knowledge is no help at all.80.7% vs 30.8%

Questions to SQL

−3 questions

The frontier model answers more of them — but fewer of its answers match the reference query exactly.15 vs 18 of 39 · exact 14 vs 9 · 7B

All of it on one desktop GPU, owned by you.

It is yours

The weights live on your disks. No provider can change, reprice or retire the model you depend on — and it works with no route to the internet.

No per-request bill

GPT-5.5 cost $4.57 per 1,000 messages in this test. Your own model runs on a €2,000 desktop GPU — about €840 a year, hardware written off over three years.

Nothing leaves

Every message, query and image stays inside your perimeter — the precondition for using AI at all on data that may not leave.

Where frontier still wins

Open-ended work and broad world knowledge. Keep an API for those if your rules allow — train your own for the repeated tasks that carry your data.

Method, in full

Method: every contender saw the same test items and the same instructions; contenders without training were given the full label list. Small models decode greedily; GPT-5.5 (gpt-5.5-2026-04-23) ran zero-shot through the OpenAI API with its default reasoning on 15 September 2026, costing $13.65 at list price. The trained models are ordinary builds on the platform: triage six epochs at LoRA rank 32, SQL up to fifteen epochs on the written pairs plus the ones the platform synthesised and checked by execution, the checkpoint chosen by execution accuracy on held-out questions — every other setting left at its default. Trained and measured 16–17 September 2026; test data, prompts and scripts are available on request.

04Sizing

Everything on this page ran on one workstation.

No cluster, no data-centre project: one desktop machine with one consumer GPU trained every model above and serves them at the rates below.

Graphics card
16 GBof GPU memoryone NVIDIA RTX 4080 SUPER
Processor
24 coresone desktop CPUIntel Core i9-13900K
Memory
64 GBof RAM
System
Ubuntu22.04 LTS

Training — one model at a time

Each row is a separate build, run on its own. These are not models sharing the card at once; the bar shows how much of the 16 GB one build needed at its peak.

ModelTask and training dataTime for one buildGPU memory used, of 16 GB
Qwen2.5 0.5BQLoRAMessage triage · 9,003 messages17 min3.0 GB
Qwen2.5 1.5BQLoRAMessage triage · 9,003 messages · 6 epochs41 min3.2 GB
Qwen2.5-Coder 1.5BQLoRAText-to-SQL · 150 pairs · up to 15 epochs11 min10.9 GB
Qwen2.5-Coder 7BQLoRAText-to-SQL · 111 pairs11 min8.1 GB
ViT-Base 86Mfull fine-tuneRetinal photographs · 3,797 images2 min1.8 GB
ViT-Base 86Mfull fine-tuneDental X-ray findings · 3,006 crops1 min1.8 GB

Build time covers training and the evaluation on held-out data, for the builds named in the results above.

Serving — one model at a time

Each model deployed alone on the card; the rate is what that one model sustains.

Deployed modelOne requestMedian latencyThroughput on this GPU
Qwen2.5 1.5B, trained6.0 GB GPU memoryRoute a message and draft the reply · about 70 tokens out0.9 s95% under 1.2 s≈ 4,000 / hour≈ 32,000 in an 8-hour day
Qwen2.5-Coder 7B, trained4-bit · 8.9 GB GPU memoryWrite SQL from a 1,250-token schema prompt · about 60 tokens out1.6 s95% under 2.6 s≈ 2,200 / hour
ViT-Base 86M, trained0.3 GB GPU memoryClassify one retinal photograph6 ms95% under 48 ms≈ 400,000 / hour

What that means in practice: one GPU can route and draft replies for a contact centre handling around 30,000 messages a working day, answer about 2,000 analyst questions an hour, or classify around 100 images a second.

How serving was measured

On this machine with the platform's own serving code, end to end on the GPU, excluding network time. A deployment answers one request at a time today, so requests above these rates wait in line and longer answers take proportionally longer. More volume means more GPUs or machines.

05How it works

One real run, screen by screen.

Real screens from one run: the retinal-photograph model above, built from a public archive on one desktop GPU. Patient images are blurred here.

  1. Ingestshape recognised · PII scan · leak check
  2. Synthesisepairs kept only if round-trip execution agrees
  3. TrainLoRA / QLoRA · seed · environment manifest
  4. Verifyheld-out data · outputs executed on a snapshot
  5. Sign offhuman approval gates production
  6. ServeOpenAI-compatible · output guards
  7. Monitorscheduled revalidation · drift alerts

every stage writes to one append-only, hash-chained audit journal

  1. Drop in the material as it is.

    4,217 retinal photographs go in as an archive — no manifest, no script. The platform catalogues every file, recognises the folder-per-condition layout and offers the preparation that fits.

    Then it asks the one question that decides whether any later number can be trusted: which images come from the same source, so they never land on both sides of the evaluation.

    Fundus screening / Datasets / Retinal photographs
    A container dataset marked 'Not recognized yet' with the hypothesis 'Images organized in directories named after their class', 90% confident, and preparation options for a group field and a group pattern.
  2. It finds the leak before the metric does.

    Before any training, a bundled image encoder compares every picture with every other. On the first split it flagged 49 near-identical pairs that the patient number in the file name had not grouped together — differently named copies of the same photograph.

    What the leak was worth. Accuracy on the first split, and on the corrected one:93.3%91.7%The lower number is the one a regulator can rely on.

    Fundus screening / Datasets / Insights
    Insights tab: 49 near-identical pairs across different groups, with the warning that a split cannot keep them together, and one pair that looks the same but is labelled differently.
  3. Evaluated on patients it has never seen.

    Training and evaluation are one build on your GPU. The report leads with what a reviewer needs — accuracy, macro recall, precision, F1, ROC-AUC and the confusion matrix — so the classes the model confuses stay visible instead of being averaged away.

    • pinned seed, dataset hash, environment manifest
    Fundus screening / Builds / 8fea9937
    Classification report with accuracy, macro recall, precision, F1, ROC-AUC and PR-AUC, and a confusion matrix across cataract, diabetic retinopathy, glaucoma and normal.
  4. Nothing reaches production without a named approver.

    The model is packaged as a solution and deployment stays blocked until a person with the right role approves it. The Annex IV technical file is generated from the build record; people write only what a machine cannot know — intended purpose, limitations, risks.

    Fundus screening / Solutions
    Solution page: awaiting review, deployment is blocked until approved, with approve and reject actions and the Annex IV technical documentation panel offering Markdown and PDF.
  5. Every artefact traces back to its inputs — and every action is journalled.

    Lineage is derived from what actually happened — which archive a dataset came from, what a build trained on, which solution packages it. Uploads, builds, approvals and deployments land in a hash-chained journal; one click verifies the chain.

    Audit
    Audit log: an append-only, hash-chained record of compliance-relevant actions with actor, role, action and subject, and a verified chain.

What your security team will ask

It is air-gapped. How does it get updates?

Like your other offline software: a release archive comes in through your approved transfer process, you check its SHA-256, and the binary verifies its own integrity at every start. No auto-update, nothing phones home.

Code signing and a software bill of materials are being added to the release chain.

How do libraries and models get inside?

Python libraries arrive as runtime packages — every wheel pinned for your operating system — installed offline from Settings → Libraries. Open-weight base models are copied from approved media and registered by a scan. Nothing is downloaded at run time.

Does it work with our security controls and our encryption keys?

It runs inside them. Database, datasets, models and audit journal live in directories you choose, under your disk encryption and your keys — BitLocker, LUKS, FileVault, an encrypted SAN. SPINALIS holds no key to your data and has no remote access; the journal’s signing keys are generated on the installation itself.

Put it behind your TLS-terminating proxy and network segmentation. Native single sign-on and HSM-held keys are not built in yet.

What leaves the machine?

Nothing that carries customer data. The licence is a signed file checked offline against the machine it was issued for, and there is no telemetry. Roles separate who trains, who approves and who audits.

See the technical file a run produces.

We will send a generated Annex IV document, or walk your compliance and security teams through a run live.

06No lock-in

Leaving is a supported path.

A proprietary platform should not mean proprietary models, formats or records. Everything SPINALIS produces is yours in a form other tools can read.

Your models are standard

Built on open-weight base models. Export the weights, a GGUF file, a Docker service or a Python package, and run them without SPINALIS.

Your applications don't depend on us

Deployed models answer an OpenAI-compatible API. Moving an application to another server behind that API is a change of base URL.

Your data stays in open formats

Datasets are JSONL, CSV and image folders on your own disks. Nothing is converted into a format only we can read.

Your evidence is exportable

The audit journal exports to CSV, technical documentation to Markdown and PDF, and lineage to JSON through the API.

A lapsed licence locks nothing

If a licence expires, the installation keeps running at the free Community limit of one GPU. Models, datasets and records stay exactly where they are.

Standard machine learning underneath

PyTorch, Hugging Face Transformers and PEFT adapters — the same open stack your own engineers would choose, with no copyleft components.

07Why the evidence matters

Training your own model can make you its legally accountable provider.

Under Regulation (EU) 2024/1689, fine-tuning a model on your own data can make you the provider of a high-risk AI system. From December 2027 that means answering questions like these — for every model, for ten years.

What you will be askedWithout a governed processWith SPINALIS
What data was it trained on?Data governance reconstructed from memory recorded at the build, with hashes
Can you rebuild this exact model?Record-keeping rarely seed, dataset hash, environment manifest
How well does it work, and on what test?Accuracy & robustness a number in a slide held-out evaluation, stored with the build
Who checked it, and who approved it?Human oversight an email thread sign-off enforced before deployment
Where is the technical file?Annex IV written by hand afterwards generated from the build record
Is it still behaving as approved?Post-market monitoring nobody checks scheduled revalidation, alerts on drift
Whose rights could it affect?Art. 27 a workshop, if at all assessment drawn from the same record

None of this is a feature of a trainer. It is a property of the process that produced the model — so here it is a by-product of the work, not a document written months later.

08Pricing

You pay per AI system in production — and it costs less than producing the evidence by hand.

What you pay for

One governed AI system = one use case running in production under sign-off.

You pay for how many use cases run in production under SPINALIS — each with its own approval, audit trail, technical file and monitoring. It is the unit a regulator counts: one entry per system.

You do not pay per user, per GPU, per training run or per request.

System 1Customer-message triage

  • v1 → v2 → v3monthly retraining
  • stagingtesting
  • productionapproved
  • replicafailover

System 2SQL assistant for analysts

  • v1 → v2retraining
  • productionapproved

Not countedWork that never reaches production

  • experimentsany number
  • datasetsany number
  • model comparisonsany number
= 2 governed AI systems → fits Pro, which covers up to 3

Counts as one system

  • Each use case approved and promoted to production
  • A triage model and a SQL assistant are two, even under one team

Never counted

  • Retraining and new versions of a system already counted
  • Staging and test deployments, replicas and failover copies
  • Experiments, datasets, builds and comparisons that never reach production
  • Users, GPUs, training runs, requests and tokens

Why this unit

  • Each system in production carries its own duties: technical file, named approver, monitoring
  • GPUs measure computation, which is cheap; systems measure what you are accountable for

By hand, per high-risk system

€12,000–40,000 per year, refreshed at every retraining

14–28 specialist person-days a year at €900–1,400 per day, to produce and maintain the evidence for one system.

SPINALIS Pro

€24,000 per year for up to three governed systems — €8,000 each

The same artefacts, generated from the engineering record in minutes — and Pro trains, serves and monitors the models too.

Governed systemsEvidence by hand, per yearSPINALIS Pro, per yearYou save, per year
1 system€12,000–40,000€24,000up to €16,000
2 systems€24,000–80,000€24,000up to €56,000
3 systems€36,000–120,000€24,000€12,000–96,000

With two governed systems, Pro costs no more than the lowest estimate for doing the evidence by hand; from three, it is cheaper even at that estimate. With one system it depends on how demanding your case is.

Four tiers. The price grows with the number of governed systems and the level of support.

Community

€0 per year

  • Governed AI systems1
  • Conformity artefactsnot included
  • Organisation-wide access controlno
  • Supportcommunity

One use case to evaluate with: train, serve and export, without the generated documents.

Enterprise

from €90,000 per year

  • Governed AI systems12
  • Conformity artefactsincluded
  • Organisation-wide access controlyes
  • Support8h SLA, named engineer

Sovereign

from €160,000 per year

  • Governed AI systemsunlimited
  • Conformity artefactsincluded
  • Organisation-wide access controlyes
  • Support4h SLA, on-site
Governed AI systems
How many use cases you can have in production under governance — what counts.
Conformity artefacts
The generated EU AI Act documents for each system: the Annex IV technical file and the Article 27 impact assessment, in Markdown and PDF.
Organisation-wide access control
Roles and sign-off rules applied consistently across every team and project in your organisation.
Support
How quickly we respond, from community help to a four-hour SLA with engineers on site.

09Start small

Start with one model, inside your perimeter.

First engagements are fixed-price and fixed-scope: one governed model on your use case and its complete conformity dossier. We are selecting design partners in finance, insurance, defence and government.

What you get

  • One model for your use case, trained on your data on your hardware
  • Its conformity dossier: Annex IV file, Article 27 assessment, audit journal, lineage
  • Sign-off, access roles and scheduled revalidation set up for your organisation

What we ask for

  • One use case and one accountable sponsor
  • A machine with a GPU inside your network
  • The people who will approve the model, available for sign-off

What never happens

  • No data leaves your network — not to us, not to a cloud
  • No telemetry: the licence is verified offline
  • No evidence held by us: the record lives inside your perimeter
Discuss a first model Book a 30-minute briefing

Briefings for CISOs, compliance officers and procurement teams.

10Questions

What security, compliance and business teams ask first.

Will we lose quality by moving from a frontier API to a small model?

On well-defined tasks, not much: message triage 90.3% for a 1.5B model trained on the platform versus 84.9% for GPT-5.5; dental X-ray findings 80.7% versus 30.8%. On SQL the trained 7B model matched the reference queries exactly more often (14 against 9 of 39), while GPT-5.5 produced more equivalent answers (18 against 15). A frontier model stays broader; the full comparison.

Are we locked in to SPINALIS?

No. Models export in open formats, applications talk to an OpenAI-compatible API, data stays in JSONL, CSV and image folders, and the evidence exports to CSV, Markdown, PDF and JSON. A lapsed licence falls back to the free one-GPU Community limit and locks nothing. Details.

Does any of our data leave the network?

No. No outbound connection carries customer data and there is no telemetry: the licence is a signed file verified offline. Updates, libraries and models come in through your own transfer process. How.

Does using SPINALIS make us compliant with the AI Act?

No tool can. The intended purpose, the risk assessment and the conformity decision remain yours. SPINALIS enforces the controls — roles, sign-off, an append-only journal — and generates the evidence from what actually happened, so your people review a record instead of writing one.

What exactly is in the Annex IV file?

A Markdown and PDF document per solution, assembled from the build record: general description and intended purpose; development process and training configuration, including the environment for reproducibility; data and data governance for every dataset; accuracy and performance metrics; risk management; changes through the lifecycle from the audit journal; human oversight and sign-off; and the conformity context. Fields no machine can know are written by people in the product, and every edit is journalled.

What hardware do we need?

One machine with a GPU inside your perimeter. Every result on this page came from a single 16 GB desktop GPU, which also serves about 4,000 triage requests an hour — measured training times and serving rates. Installers exist for Windows, Linux and macOS on Apple Silicon.

Which models can we train?

Open-weight models across the range: language models for text, documents, search and SQL; vision models for classification, detection and segmentation; speech models for transcription; and models for tables and time series — from a curated catalogue you extend offline. Trained models are served through an OpenAI-compatible endpoint or exported.

Is SPINALIS open source?

No. It is proprietary software under an end-user licence governed by EU law, built on a permissive-only dependency stack with no copyleft components — which is what lets regulated procurement accept it. The Community tier is free for one governed system.

Tell us the task you would hand to your own model.

We reply with what the first model and its dossier would look like in your environment — or, if an API service suits you better, we will say so.

Founded by Konstantin Khrimpach (CTO) and Vladimir Fedyanov (COO)Company, market and plan →