English Italiano Français

v0.1 draft · open standard · a personal project by antferr

Agio Fit your fit profile is yours. Everywhere.

Every size-recommendation service works — and keeps your profile captive. Agio Fit is the opposite: an open data model where your measurements live in a vault you choose, and shops only ever get a size.

The problem

The right size already exists. Your profile doesn't.

Returns

A large share of online fashion returns are size-related. The market's answer is bracketing: order three sizes, keep one, send two back.

The silos

Size recommendation works — but in every existing implementation the profile belongs to the vendor or the retailer. You rebuild it, implicitly, at every shop you visit.

The agents

Agentic commerce protocols are standardising catalogue, checkout and interfaces — but not fit. The assistant that will buy clothes on your behalf would, today, guess your size from nothing.

What it is

Three JSON documents, one explained recommendation

You own the first. The seller publishes the second. The third is the only thing that travels between the two — confidence exposed, per-zone reasoning, never a size handed down from a black box.

Fit Profile

— yours

Body measurements with declared source and uncertainty, fit preferences, and the history of how past garments actually fitted you.

schemas/v0.1/fit-profile.schema.json

Cut Profile

— the seller's

How the garment is cut, not what the brand calls the size: finished measurements per size, intended ease, stretch, data provenance.

schemas/v0.1/cut-profile.schema.json

Match Report

— what travels

A size, the alternatives, zone-by-zone reasoning and an honest confidence — decomposed, capped when data is thin, never overstated.

schemas/v0.1/match-report.schema.json

In practice

What becomes possible when a garment publishes its cut

In store

The fitting room in your pocket: a QR code on the label points to the Cut Profile. Scan it and the match runs on your phone — you know whether it fits before trying it on, and nothing leaves for the shop. Not even the size.

Online

The same gesture where no fitting room exists: online the garment can't be tried on, but its cut is published and your profile answers — with confidence exposed and per-zone reasoning, not a promise.

"Fits like"

Two garments that publish their cut can be compared with each other: a retailer can tell you this jacket is cut like the one you kept. A garment-to-garment comparison that never touches your measurements.

Privacy by design

Four disclosure levels. You choose what leaves.

In the in-store scenario nothing leaves: the computation happens entirely on your side. When something does need to leave — an online shop, a return, your tailor — the answer is graduated: from the full profile down to a size and nothing else.

full
body measurements preferences history per-zone reasoning 41
scoped
body measurements requested zones only per-zone reasoning 41
explained
body measurements ease in cm per-zone reasoning, no numbers 41
result_only
41

, i valori di agio vengono rimossi alla serializzazione. The arithmetic leak is why the lower levels exist: publishing ease in centimetres next to the garment's measurements would reveal body measurements by subtraction. Below scoped, ease values are stripped at serialisation. , les valeurs d'aisance sont retirées à la sérialisation.

Scope

What it is not, stated before you ask

Not a size-recommendation vendor. The argument is ownership and portability; becoming another silo would destroy it.

Not an identity system. The profile lives in a vault the person chooses; authentication and custody are deferred to existing wallets.

Not a scanning technology. The model accepts measurements from any source — and declares their quality instead of pretending it uniform.

Not a size-chart aggregator. Charts say what a brand calls a size, not how the garment is cut.

Not a protocol. It is a data model: it works over a plain HTTP API, and the algorithm is not normative — the shape of the answer is.

Status

v0.1 draft, in the open

v0.1 draft Nothing is stable before 1.0. One commitment already holds: schema identifiers stay resolvable, and breaking changes bump the version instead of mutating a published schema.

Specification under CC BY 4.0, reference implementation under Apache 2.0 — zero runtime dependencies, so the privacy invariant can be verified by reading the code in an afternoon. The most valuable contribution? A body and a garment where the answer is obviously wrong, as a failing test.