{{ activePost.title }}
{{ activePost.dek }}
{{ para }}
Soft ask
{{ activePost.cta }} →38°42′N · 09°08′W — the year-three problem
Almost every firm in this market sells speed to first deployment. Nobody sells the second half of the lifespan. These are the soundings we take before agreeing to build anything — measured depth, not guesswork.
{{ f2.depth }}
{{ f2.body }}
The scale
One graduated instrument, not a service list. It runs from your team owning the work to us owning it — and you can move along it as your own capability grows.
{{ activeMode.short }}
Underneath every position — built to still be running in five years
The platform · Portolan
Portolan is our governed inference gateway, and it sits between your applications and your providers: it routes to any model we have vetted, redacts sensitive data before it leaves, refuses calls that would breach policy, does retrieval with documented lineage, and writes every call to an audit chain. Portolan governs the path; the compliance the path produces is yours.
References
We would gladly show client names and logos — but the firms we work with are regulated, and this work sits under NDA. So instead of a wall of logos, on a call we describe comparable work in detail and, where a client agrees, introduce you to them directly. A reference you can actually phone is worth more than a testimonial you can only read.
Thirty minutes with a partner who will do the work. We will tell you which position on the scale fits, and say so plainly if the answer is none of them yet.
The master chart
“No strand is the rope. A position on this scale is a decision about how much of the twisting you keep doing yourself — never a tier of service you buy.”
{{ m.tick }}
{{ m.body }}
Who is involved
{{ m.who }}
What you keep
{{ m.keep }}
{{ m.note }}
What you receive
{{ d.title }}
{{ d.desc }}
What we build
{{ c.tag }}
{{ c.body }}
The second half of the lifespan
This is the half of the work that is missing almost everywhere else, and it is the reason clients come back. Each practice below is a line item in every build we quote — not an upsell after the fact.
{{ d.body }}
Three of those recur in nearly every build — the gateway that makes a provider swappable, the harness that catches a model changing underneath you, and inference that stays inside the EU — so we stopped writing them from scratch each time. They are Portolan, our own governed inference gateway. Where it fits we deploy it; where it does not we build the same three properties into your stack directly, and every practice above is unchanged either way.
Portolan — the governed inference gateway→Regulation belongs in this list, not in a separate department. A system with documented lineage, evaluated retrieval, assigned human oversight and readable logs is a system that answers the EU AI Act almost as a by-product — which is why we treat compliance as an engineering practice rather than a service line.
What you are probably thinking
{{ o.answer }}
The four tiers — the only place these colours appear
{{ ti.body }}
Five things, in this order. None of them is a report that ends with recommendations for somebody else to implement.
{{ w.body }}
The overlap between ISO/IEC 42001 and the Act is large enough that a single set of artefacts answers both. This is the clause map we work from — and the artefact column is the part that has to exist.
| ISO/IEC 42001 | AI Act | The artefact that satisfies both |
|---|---|---|
| {{ cm.clause }} | {{ cm.act }} | {{ cm.artefact }} |
On training: we deliver the programme, the materials and the evidence trail in person, at your site. A licensed body issues any certificate on the strength of that record. We do not award certificates, and anyone in this market who says they do is selling a document with no standing.
The gateway
Requests arrive from your applications and cross the five stations in a fixed order. One of them is refused at Enforce and written to the chain anyway, because a refusal is evidence and dropping it silently would be the failure this exists to prevent. Another is turned around: its destination sat outside the EEA, so the transfer was refused and the call was rerouted rather than dropped. The panel underneath shows what actually changed on the wire.
Illustrative — a depiction of how Portolan behaves under load.
Integration
Portolan speaks the OpenAI chat and embeddings API. If your application already talks to a provider SDK, the whole integration is a base URL and a key we issue — the call site does not move, the response shape does not change, and streaming, tool calls and JSON mode pass through untouched.
client.py
{{ cs.fig }}
Five stations, one path
Every call crosses all five, in the same order, every time. Two of them are the reason Portolan exists. The other three are what make those two usable.
{{ stnRedact.lead }}
{{ rs.lead }} {{ rs.body }}
{{ stnRedact.detail }}
Scope — {{ stnRedact.warning }}
{{ stnEnforce.lead }}
{{ stnEnforce.body }}
{{ stnEnforce.detail }}
Scope — {{ stnEnforce.warning }}
{{ stnRoute.lead }}
{{ stnRoute.body }}
{{ stnRoute.detail }}
{{ stnRetrieve.lead }}
{{ stnRetrieve.body }}
{{ stnRetrieve.detail }}
{{ stnLog.lead }}
{{ stnLog.body }}
{{ stnLog.detail }}
Portability is the commitment underneath all five. Whatever Portolan holds — the chain, the routing rules, the redaction policies, the indexes — exports in full and runs without us.
A firm that sells portability cannot ship the one system you are locked into.
Subscription seats
Claude Enterprise seats, Claude Code, Codex — bought per person, opened in a browser or a terminal, and pointed at nothing you operate. Two routes reach that traffic and both are inline. Anthropic posts every governed prompt to Portolan from its own servers and waits for a verdict before the model runs; the coding agents fire a blocking event before a prompt leaves the machine. Anthropic documents this configuration and names the organisation or its security vendor as the operator of that endpoint. Neither route is a report you read a quarter later.
{{ seatHook.lead }}
{{ ss.lead }} {{ ss.body }}
{{ seatHook.detail }}
Scope — {{ seatHook.warning }}
Three ways in, side by side
The gateway and the two hook routes are one product with three points of attachment. Which of them reaches a given seat is a fact about the client and the plan, not a tier, so it is written down here rather than quoted.
{{ sr.mono }}
Where the verdict is made
{{ sr.place }}
What it reaches
{{ sr.what }}
Which plans
{{ sr.note }}
What is installed
{{ sr.detail }}
The control
{{ sr.body }}
Through the gateway a call can be changed on its way past: a tax number becomes a placeholder and the model is never sent the original. On a seat it cannot. Anthropic’s contract for this path is explicit that rewriting or redacting a prompt is not supported, so a request either proceeds intact or does not proceed. The detector still runs — it feeds the deny decision instead of transforming the text, which is the order the policy requires in either case.
So the seat path is allow or deny, and the gateway path is where redaction happens. Route what you can through the gateway and it is redacted; govern the rest at the seat and it is allowed or refused. Both are inline, both fail closed, and both write to the same chain.
A hook that runs on a developer’s machine is an organisational control rather than a cryptographic one. Managed settings pushed by your MDM make it non-removable in practice, and someone with local administrator rights on their own laptop could still get round it. The record says which of the two it was, so an evidence pack cannot imply otherwise.
Both routes write the posture and the locus into the hashed payload itself, rather than alongside it — because an evidence chain that cannot tell “refused on Anthropic’s servers before the model ran” from “noticed afterwards” is not evidence of the same thing.
{{ seatsChain.mono }}
The audit chain
Today an AI audit trail is worth exactly what the vendor’s word is worth. This one is worth what the arithmetic says.
Every decision Portolan makes — the call, the refusal, the redaction, the citation — is written to a chain of its own, one per tenant. Each record carries the hash of the record before it, so altering one breaks every record that follows.
That much is ordinary. What turns it into evidence is where the proof goes: outside. The head of the chain is signed and written to a store that is not the database holding the records, then batched to a third-party timestamp authority and anchored into a public blockchain. The question did this record exist on that date, and has it changed since is then answered by arithmetic your own auditor can run, against witnesses neither we nor your model provider control.
{{ cs.body }}
A public timestamp authority is a real, independent witness that a hash existed at a given time. It is not a qualified timestamp: the Art. 41 presumption under eIDAS is a different instrument, and it comes from a contracted qualified trust service provider. Notarisation is a line on the price list; the chain, its signed heads and the verification routine are part of the product.
Beyond the five
A gateway that governs single calls governs the easy half. These are the parts that carry a multi-step run, a subject request and a shared tenant.
{{ ml.no }}
{{ ml.lead }}
{{ ml.body }}
Also on the node
{{ mr.name }}{{ mr.status }}
{{ mr.body }}
Providers and where it runs
A provider is on this list because we have established where its inference physically happens and under whose contract. Which model answers best is yours to decide — here a provider is a routing rule, not an integration.
{{ pr.mono }}
{{ pr.note }}
{{ prBerth.mono }}
{{ prBerth.note }}
{{ prOwn.ref }}
{{ prOwn.mono }}
{{ prOwn.status }}{{ prOwn.note }}
{{ cl.mono }}
{{ cl.note }}
{{ clOwn.name }}
{{ clOwn.mono }}
{{ clOwn.status }}{{ clOwn.note }}
Attach your own credentials — Azure OpenAI, AWS Bedrock, Mistral, Hugging Face — and Portolan governs those calls exactly as it governs ours: routed, redacted, enforced, cited and written to the chain. We do not resell the inference and never see the bill.
The compliance meter runs; the inference meter reads zero.
Between them these providers and clouds give you an EU region on every major model family, your own credentials wherever you would rather hold them, and a way out of any one of them that costs a rule change rather than a migration.
Provider and cloud names above are the trademarks of their respective owners — Microsoft and Azure of the Microsoft group of companies, AWS and Amazon Web Services of Amazon.com, Inc. or its affiliates — and each is named to say where inference runs and under whose contract.
The part that finds personal data
Most tools borrow somebody else's idea of what personal data looks like, and inherit somebody else's licence along with it. Ours was written here, from a blank page, to read the identifiers Europe actually uses — a Portuguese tax number, a Spanish DNI, an Italian codice fiscale, an IBAN.
It belongs to Rechart outright, so nobody outside this company can change the terms you run it under. That is the difference between something you can still be running in ten years and something you can run until someone else changes their mind.
Standards and trust
These are the standards the design answers to, and for each of them the evidence we publish. The people who read this section are the people who check, so it is written for them.
| Standard | What it is doing here |
|---|---|
| {{ sd.mono }} | {{ sd.body }} |
Two documents are on this site and you can read them now. Four more are drawn up with the contract, which is where a processor agreement is drawn up everywhere.
Published on this site
Issued with your contract
These are not downloads. Each one is part of the agreement you sign, because each one only means something once it names your company, your regions and your retention rule. You do not have to sign to read them: ask during evaluation and we send the drafts.
{{ tc.body }}
{{ tc.note }}
Pricing
Compliance is metered per governed token — €3.00 per million with no commitment, and as little as €0.40 with one. Inference is billed only if you take the model from us, and deployment only if you want a cell of your own.
See the full price list→The smallest commitment
{{ teaser.commit }}
per month
Operators, applications and routing rules are not metered — the meter reads governed tokens. Every tier has every feature, so nothing on this page sits behind a higher one.
Early access
Bring the awkward case: a sector with rules of its own, a data class that cannot leave the country, a provider mix nobody supports, a retention rule that fits nobody's default. Those are the calls Portolan was built for, and they are the ones we want first.
This site makes no third-party request at all, which is why the ask is a link rather than a form. It opens your own mail client with the six questions already written; delete any you would rather not answer.
The list is for Portolan. The call is for the estate you already run.
Portolan · pricing
v0.1.0 · EU-HOSTEDRead them in this order and the rest of this page is arithmetic. Compliance is the product. Inference and deployment are things you may prefer to hold yourself, and if you do, they cost nothing here.
{{ mt.no }}
{{ mt.lead }}
{{ mt.body }}
All figures exclude VAT · euro · invoiced monthly
Meter one · compliance
Without a commitment, governed tokens are €3.00 per million. A commitment buys a lower rate and a monthly allowance at that rate.
{{ lr.tier }}
{{ lr.commit }}
per month
Every tier has every feature. The ladder buys rate and allowance; nothing on the product page sits behind a higher one.
{{ seatCase.kicker }}
{{ seatCase.fig }}
{{ seatCase.unit }}
{{ seatCase.lead }}
{{ seatCase.body }}
{{ seatCase.foot }}
Above Tier 5
Larger estates are priced against the traffic they actually carry. Bring a month of volume and the retention rule you have to meet, and we set the commitment with you.
Meter two · inference
Route to any vetted model you like, on whichever provider you like. If the keys are yours, this meter reads zero for the whole month and nothing below applies to you. Nothing here narrows what you may run.
If you would rather not hold provider accounts at all, we can supply the inference and bill it. Supplied inference is priced in three bands. A band is a price, not a menu: whatever you route to is billed at the band it falls into.
How a band is priced
The band is the promise. The rate inside it moves with the market it is bought from.
Supplied inference is bought from providers, and providers change what they charge. Each band’s rate tracks its providers rather than sitting still, so the rate you are billed at is the one written into your order — and any change to it is announced thirty days before it takes effect. Bring your own keys and none of this applies: the meter reads zero.
| Price band | Today, euro per million | What falls into it |
|---|---|---|
| {{ st.tier }} | {{ st.rate }} indicative | {{ st.note }} |
These are the rates the three bands stand at today, published so you can size a month rather than wait for a quote. They are a reading, not a tariff. A band is also named after a model that represents it rather than restricted to that model — what a band resolves to today is not a promise about next year, which is the point of buying a band rather than a model.
Meter three · deployment
This meter is drawn only by tenants who want their own cell, or who would rather run the whole thing themselves. All three shapes run the same Portolan; what changes is who the hardware belongs to and who operates it.
{{ dp.fig }}
{{ dp.unit }}
Isolation
{{ dp.detail }}
Keys
{{ dp.keep }}
Where it runs
{{ dp.place }}
Operated by
{{ dp.who }}
The shape changes; the feature set does not. Every deployment routes, redacts, enforces, cites and writes to the same chain, and none of the three gates anything the others have.
Everything else with a unit
Six things are billed by the item rather than by the token, because that is how they are consumed. Most months, none of them appears.
| {{ ex.name }} | {{ ex.fig }} | {{ ex.note }} |
These are the published prices. Tenants are invoiced monthly against a signed order.
Work it out with us
Tell us the volume, whose keys the inference runs on and how long you have to keep the record, and we will put a figure against it — the tier, the meters you would actually draw, and what a month looks like on your numbers rather than on a worked example of ours.
Legal · no instrument treatment
{{ legalNotice.basis }}
Who publishes this site, what happens to a request that reaches it, and what we chose to do about both. Every claim on this page is one you can check from your own browser.
{{ ln }}
Five sectors, each filed under its bearing. Each card names the engineering problem that actually defines the work, with the regulatory reading second, not first. Open any one for the full sector brief.
Not on this list? The method is sector-agnostic — lineage, evaluation, portability and durable operation apply to any regulated AI estate. If your domain is not one of the five, the diagnostic still starts the same way.
What you are probably thinking
{{ o.answer }}
What a build here leaves you holding
{{ pl.code }}
{{ pl.meta }}
What it produces
{{ d.depth }}
{{ d.body }}
Plate · how a sounding is taken
Surface — the brief. What you think you have, and what it has to survive. Ten minutes, before anything is measured.
The knots — each system logged. Every AI system named, owned and tiered against Art. 6 and Annex III.
The lead — durability weight. Portability, evaluation, lineage, cost and handover, scored per system.
The reading — recommended position. Where you sit on the scale, and what a first engagement there contains.
What you are probably thinking
{{ o.answer }}
A fit test — before you spend the thirty minutes
This is for you if
{{ f }}
This is not for you if
×{{ f }}
What you leave with
{{ pl.code }}
{{ pl.meta }}
Does not cover — the diagnostic does not remediate anything. It measures and recommends; the build, if you want one, is a separate engagement you are never obliged to take.
Profiler · quadrant arc
This tool runs entirely in your browser. No inventory data reaches a server, nothing is stored between visits, and there is no analytics on any input. Nothing is asked of you beyond the systems themselves — no email, no sign-up, no export that costs you an address.
Scope charted
{{ systemCountLabel }}
Context only. It changes which obligations we surface, not the classification.
Jurisdictions in scopeOne row per system, including AI features inside tools you licensed. Name them however your teams do.
Who is on the receiving end of each system's output. This is what moves a system between tiers.
{{ s.displayName }}
Only count what exists in writing and someone owns. Half-finished spreadsheets do not count.
Regulatory evidence
Durability practices
Scope profile · not a quote
{{ summary }}
Classification per system
| System | Role | Tier | Basis |
|---|---|---|---|
| {{ r.name }} | {{ r.role }} | {{ r.tierLabel }} | {{ r.basis }} |
{{ readiness }}
Regulatory evidence on file across the eight areas the Act and ISO/IEC 42001 both lean on.
{{ durabilityScore }}
Durability read — the practices that decide whether this estate still runs in five years.
{{ highCount }}
Systems at high risk or above, each carrying its own Annex III obligations.
{{ gapCount }}
Areas with nothing on file — the first entries on a remediation plan.
Take this further
We will read it with you, correct what the tool got wrong about your context, and say which position on the scale fits what you are trying to build.
Nothing to submit and nothing to enter — the profile is on your screen. Read it back to us on the call, or copy it into the mail.
Scenario · depth plumbs
An illustrative remediation, written the way we would report a real one: the situation, what an assessment turns up, what gets changed, and what the fix costs against a rebuild. Composed to show the shape of the work — not a client case study.
Illustrative scenario · not a client case study
{{ c.label }}
{{ c.body }}
About · compass rose
Rechart Labs is a senior-only practice in Lisbon working across the European Union. Whether a system lasts is never only an engineering question, a legal one or a people question — so every build is read through all three at once, by the people who will do the work.
{{ p.point }}
{{ p.role }}
{{ p.blurb }}
Who we are
Rechart Labs is a senior-only firm based in Lisbon. There is no delivery bench and no offshore tier: the three people who scope your work are the three who do it. We take a deliberately small number of engagements at a time, which is why the diagnostic exists — to make sure the fit is real before either side commits.
Base
Lisboa, Portugal
Operating region
The European Union
Practice
Senior-only — three partners
Disciplines
Engineering · Regulatory · Delivery
Working languages
EN · PT
Engagements
Scoped per client, by system count
Where the obligation reaches
Based on the Tagus, working across the European Union. The plot is not a client list: it sets out cities where the same law reaches, by their true bearing and distance from Lisbon. One AI Act, one set of provider and deployer obligations, and a national authority enforcing them in each member state — which is why the work travels without changing shape. Most of it is remote-first, with on-site delivery where the build, the training programme or the data residency requires us in the room.
On-premise and EU-region deployment is the default rather than the exception — a habit that comes from working with regulated operators for whom data leaving the jurisdiction is not an option.
A fit test — a senior-only practice is not for everyone
We are the right partner if
{{ f }}
We are not, if
×{{ f }}
Insights · diário de bordo — the log, pegged as we go
{{ activePost.dek }}
{{ para }}
Soft ask
{{ activePost.cta }} →Book a call · the dock — where a voyage is provisioned
Nothing left the Tagus without being provisioned, crewed and given a bearing first — this is that conversation. Pick a time in the calendar: no form ahead of it, no waiting to hear back, and the slot you choose is confirmed when you choose it. You will speak to a partner who will do the work, not to a salesperson.
Or write to us directly
hello@rechartlabs.comA meaningful share of enterprise buyers in Europe will not use a booking widget. Email reaches the same three people and gets answered the same day.
Lisbon · Europe · CET/CEST
Scoping call · 30 min
Embed slot
Booking widget mounts here.
A self-hosted instance on this domain, not a third-party embed.
iframe · 100% × 420–640px · same origin, so nothing to consent to
An open calendar, not an application. If nothing fits, write instead — we do not hold slots back.