Capability
Find the right source, read it correctly, and prove every line against it.
Every origin and destination pair a traveller can ask about, at roughly 10 pages each.
The part of the problem VFS already owns the content for. This is where production starts.
Crawled end to end from India with government sources, grounding and verification. Proof of mechanism, not of scale.
Find the right source, read it correctly, and prove every line against it.
Hold cost flat as corridors multiply by a thousand, and to near zero per question.
A named person approves what ships. Models propose, people decide.
The intelligence, the registry and the decisions stay VFS property.
Discovery never finishes. New missions, operators and pages keep appearing.
No changelog, no API, no notice. A rule changes and the page just reads differently.
One operator, two names. Two sources disagree. Jurisdiction decides who wins.
Script-rendered pages hold nothing to read until a browser runs them.
Everything above multiplies by a thousand at 40,000 corridors.
Naive crawling and extraction at that scale costs more than the answers are worth.
Models hallucinate, so a named person decides what reaches a traveller.
VFS pages, mission and government sites, other operators, and the PDFs they link to.
In the corridors we examined, the service is run by someone other than VFS. Spain from India is BLS International, not VFS.
Consular districts decide which mission and which centre applies, and the rules differ by district.
Distinct visa-type names across sources for the same underlying set of visas.
Operational notices found in one pass. Any of them can change an answer with no notification.
Across 63 destinations and 161 origins, the same API your own website calls. Where the catalogue is structured, the answer is assembled with no model call at all.
Inside VFS’s own 86 destinations, half of all pairs (6,328 of 12,672) are already answered from a government or VFS source.
Running the whole VFS estate is about $90 a year of infrastructure. The sprint itself cost one engineer, one day.
Model evaluation, retrieval and grounding, compression, inference economics.
Crawlers, pipelines, registries, review tooling, APIs.
Monitoring, audit trails, cost control, human review at volume.
Handover into the client’s own cloud, or run by us.
Government, financial services, travel, logistics, industrial and manufacturing, and AI infrastructure.
AI sits inside the operating architecture, not on top of it as a chatbot. In this system that means the discovery loop that proposes sources, the review queue that routes judgement to a named person, and the source registry that records what was approved and why.
Named, measurable work, not a claim: model evaluation per task, architecture experiments, inference optimisation, retrieval and grounding methods, agent orchestration, and content compression.
The compression benchmark on the next act, the verifier that sits outside the model, and a model strategy that puts deterministic code first and frontier models last.
The same governance pattern this system uses: the model drafts, a person with a name signs off, and the decision is recorded against the record it changed.
Data from systems that never agreed with each other, resolved into one record per entity, with every finding traceable to the source row that produced it.
Find, validate and qualify candidate sources
One record per corridor from many formats
Every line checked against its source text
A named person approves what ships
Into the verified knowledge base
Database read, no model call
Runs continuously against the open web. It never finishes, because new missions, operators and pages keep appearing.
Runs on its own schedule against approved sources only, and acts only when something material changes.
Searches for candidate sources per corridor: VFS estate, missions and ministries, other operators, immigration and policy sites.
Fetched and inspected. Is this the right page, is it relevant, is it reachable, is it a duplicate or an error shell?
Authority, ownership, coverage and purpose are assessed, and the model states its recommendation.
A named reviewer approves or rejects. In the sprint: 77 policy sources approved, 114 rejected. Nothing serves from an unapproved page.
URL, authority tier, purpose, fetch method and last check. The registry is the asset the rest of the system runs on.
Every registered page and PDF is re-fetched daily, using conditional requests so unchanged pages are not downloaded again.
Content hash and timestamp first, because that is nearly free.
One question decides the cost: would a caseworker care about this change? Cosmetic changes are logged and stop there.
Material changes only. The reviewer sees the old text, the new text and the difference between them.
The record is republished with its new evidence and fetch time. Last run: 118 pages checked, 60 unchanged, 47 cosmetic, 2 material, 9 failed.
Static pages, APIs and PDFs. Milliseconds, no browser, negligible cost. Most sources end here.
Consular pages serve different content by country, so we fetch from where the traveller is.
A 200 is not success. We check for challenge pages, empty shells and truncated content.
Script-rendered pages run in a real browser until the promised content actually exists.
Only where a source is flagged. The slowest, most expensive rung, so it is used last.
Failures back off and retry higher up the ladder. Every fetch is validated before extraction.
Same-domain only, depth limits, and a log of every fetch: rung, egress, result, duration.
HTML, JSON from the content API, a PDF checklist, or a notice written as prose.
No model runs. Where the VFS content API carries a typed visa catalogue, the record is assembled directly by code, at zero token cost. This is how 1,338 corridors were built.
Only unstructured sources reach a model, at temperature zero, asked only for the fields the schema defines. About 1.3 cents per corridor.
Output is validated against a fixed schema by code. Anything outside the schema is dropped, not repaired by another model call.
Visa type, purpose, jurisdiction, requirements, fees, channel and the source quote behind each line, in the same shape for every corridor.
A single line the model proposes
The page or PDF actually fetched
The exact words found, with position
Deterministic, outside the model
Matching text found on the fetched vfs.global page, stored with the claim.
No supporting text in any fetched source, so the claim never reaches the knowledge base.
Of claims grounded in the crawled corridor set: 510 of 512. The 2 that failed were rejected automatically.
Everything fetched for the corridor set, as the pages actually arrive.
A 99.93% reduction before any model sees the content. Measured, not modelled.
The leading public extractor recovered 0 of 16 on the same inputs. Compression is only meaningful paired with recall.
Liechtenstein has no visa service of its own. Switzerland acts for it under a 1919 treaty. In the graph that is two hops, so the right centre and rules are returned without anyone writing a Liechtenstein rule.
The corridor is operated by BLS International, not VFS. The operator edge carries that, so the answer names the right operator instead of assuming VFS.
The relationships are resolved when the record is built and reviewed. At request time the system is reading a graph, not reasoning about treaties.
| Stage | Measured rate | At 400,000 pages | What it costs |
|---|---|---|---|
| Unchanged after a week | 94% | 376,000 pages | A conditional request. Effectively free. |
| Hash change per day | ~5.7% | ~22,800 pages | A cheap semantic gate, no extraction. |
| Material change per day | 0.12 to 0.23% | 480 to 920 pages | Re-extraction and one human review each. |
| Review load per day | ~2 min each | 16 to 31 hours | Two to four reviewers, modelled at full scale. |
Multiplying corridors by 1,000 multiplies cheap checks. It multiplies expensive work only by the share of pages that actually changed in a way a caseworker would care about.
Partner volume, seasonal peaks and bot traffic change your infrastructure cost, not your inference cost.
Response time is a property of the database and the cache, so it is predictable and does not move with model provider load.
Two identical questions return identical text, with the same quote and the same fetch time. Nothing is regenerated per request.
The crawler follows links inside the approved source’s own domain, to a set depth. It does not wander the open web.
A page is not re-fetched inside its window, which keeps polite load on government hosts and cuts cost.
Every API key has its own ceiling. Over the limit, the caller is slowed, not the system.
Used only where a source needs it, and recorded per fetch.
Who asked, what was fetched, from where, at which rung of the ladder, and what it cost.
Discovery, fetch, extraction, grounding and review, end to end, on live government and operator sources.
510 of 512 claims carried verbatim evidence; the rest were dropped automatically.
16 of 16 probe facts recovered after reduction.
1.3 cents per model-read corridor, zero for structured ones, about $90 a year to run the VFS estate.
Daily checks at that volume need queueing, back-off and failure handling that a 31-corridor run never tests.
Discovery and ratification have to keep pace, which is a throughput problem, not a technique problem.
480 to 920 material changes a day needs a staffed queue with priority, not goodwill.
Consular-district rules exist for the crawled corridors; API-built answers still carry jurisdiction as unknown.
The sandbox could not be loaded here. It may be offline, or you may have no network connection.
Open chancery.360labs.tech/sandbox400,000 pages, re-checked. Held down by conditional requests and by climbing the fetch ladder only when forced.
Model tokens. Held down by never running a model on a structured source, and by 99.93% compression on the rest.
Human hours. Held down by spending them only on material change: 480 to 920 pages a day, not 400,000.
Engineering and research, architecture, initial source discovery, the knowledge model, the platform and its integrations, initial infrastructure setup. Optional private GPU cluster: about US$11,000 for two nodes.
AI and ML operations, infrastructure, monitoring, continuous source discovery, maintenance and engineering support, model and inference costs, knowledge updates, human review.
VFS estate: about $90 a year of infrastructure, no model calls. Corridors that need a model: 1.3 cents each. Current running range: US$550 to 1,450 a month.
| Coverage | Corridors | Infrastructure per year |
|---|---|---|
| VFS estate | 1,826 | ~$90 |
| Priority expansion | 5,000 | ~$3,900 |
| Broader coverage | 10,000 | ~$7,900 |
| Global | 39,800 | ~$32,300 |
Used for most of the system. Registry, fetch ladder, validator, compression and serving. No model, so no token cost, no drift and no hallucination surface.
Used for extraction. The balance of cost, control and privacy: they run on Together AI or inside VFS’s own Bedrock, and the prompts and outputs stay VFS property.
Used only for hard reasoning, and never where VFS data would leave VFS’s control. They are the most capable and the most expensive, so they are the last resort.
Evaluated task by task, not assumed better. A smaller model earns its place only when it matches quality on that specific task at lower cost.
| Option | Cost basis | Data and IP | Verdict |
|---|---|---|---|
| Together AI, serverless | Per token | Prompts and outputs stay VFS’s | Use now. No commitment, already used by VFS. |
| AWS Bedrock, Mumbai | Per token | Inside VFS’s own account and region | Move here when volume or residency requires it. |
| Azure | Per token | Inside VFS’s tenant | Equivalent alternative if VFS standardises on Azure. |
| Dedicated GPU | Per hour | Full control | Only at sustained load, around 5M tokens an hour. |
| VFS-owned hardware | Capex | Full control | Possible, not the default for a bursty workload. |
| Hybrid | Mixed | Split by workload | Batch extraction on cheap capacity, serving in-region. |
Today this is US$550 to 1,450 a month, and about $90 a year for the VFS estate alone.
One fixed build price, one optional monthly fee. Nothing else passes through us.
Nothing moves. The corpus, graph and registry are VFS’s data, not provider state.
Yes, on either axis, without rebuilding the intelligence layer.
Only to the inference endpoint VFS itself chooses, and never to a frontier model without that choice.
Fetch, extract, verify, classify change
Only material items enter the queue
Approve, reject, or send back
Published with the reviewer’s name
Source qualification, ambiguous information, conflicting sources, material change, and governance exceptions.
480 to 920 material changes a day at roughly two minutes each: two to four reviewers, working a prioritised queue. Staffed, not assumed.
Gold-set review with your consular team, audited fetch path, measured cost and latency.
Review: your reviewers, our queue, on the corridors you pick.
All 1,826 published corridors through the content API, with jurisdiction rules added.
Review: one reviewer, part-time, on material change only.
Harvest the 398 filed mission sites, close the thin policy pages, expand to priority corridors.
Review: two reviewers as discovery volume rises.
API for partners, internal tools, then handover or ongoing support.
Review: two to four reviewers at full scale.
| Option 1 · Build and handover | Option 2 · Build and maintain | |
|---|---|---|
| 360 Labs fee, build | $26,000 | $26,000 |
| Team and timeline | AI-native engineering lead, PM and 2 full-stack AI engineers. 2 months. | Same team and timeline. |
| After the build | Structured handover to your team. | $2,500 a month for 2 engineers: maintenance, updates and improvement. |
| Infrastructure | Paid by VFS directly, about $550 to 1,450 a month at current scope. | Same, paid by VFS directly. |
You pick the corridors. We show the answers, the quotes and the sources behind them.
Name the people whose sign-off the system needs, on both sides.
Your consular team checks jurisdiction and district handling on their own corridors.
Turn the daily loop on for an agreed set and watch what it catches.
We walk your security team through the ladder, the egress and the logs.
Keep using the sandbox and tell us what an answer should look like for your channels.
Lightyear 360 Labs Private Limited · 360labs.ai