# The routing layer behind every QR code.

> A scan is a web request. The resolver reads the identifiers in it and sends each visitor to the right place.

Canonical: https://eulabel.eu/platform/resolver

## From camera to passport.

### The phone reads a web address

No app needed. The QR code holds a GS1 Digital Link.

### The resolver reads the keys

GTIN, batch and serial are checked, including the GTIN check digit.

### It picks the destination

The passport by default, or the link type a client asks for, where one exists.

### A serial starts from its model's links

A serial with no links of its own uses its model's links. On passports, an unregistered serial ends on a clear 404 page.

## Standard behavior, not a redirect script.

### Linksets

Clients can request every link for a product as a linkset.

### Link types

Each passport answers gs1:defaultLink and gs1:dpp. Other link types return 404 for now.

### Description file

A resolver description at /.well-known/gs1resolver.

### Compressed EPCs

Compressed SGTIN-96 and SGTIN-198 paths from RFID tags expand to GTIN and serial.

### Clear errors

Malformed keys return a GS1-style 400 or 404, not a marketing page.

### Your own domain

Digital Links can resolve on your verified domain, on request. QR downloads encode eulabel.eu today.

## The identifier stays yours.

A GTIN does not depend on a domain, so the identity on your products stays valid if you move. Codes printed with eulabel.eu still point to our domain.
