# Universal Grading Protocol v1.0 (specification)

Licence: CC BY-ND 4.0 · © 2026 Device Supply · https://devicegrading.com/v1.0/spec

## Universal Grading Protocol v1.0

> The normative text of UGP v1.0, a public comment draft: status, steward, licence, how to cite it, and its sections.

Source: https://devicegrading.com/v1.0/spec

**Version 1.0 — Public Comment Draft (30 days)**

| | |
|---|---|
| **Status** | **Public Comment Draft.** Open for comment for 30 days from publication: October 24 to November 23, 2026. See [§19](https://devicegrading.com/v1.0/spec/public-comment). |
| **Steward** | Device Supply |
| **Replaces** | UGP Standard Framework v0.1, UGP Core v0.1 and UGP Core v0.3 (drafts, never published) |
| **Licence** | Text: Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0). Names and badges: [§17.5](https://devicegrading.com/v1.0/spec/licence#name-and-badges). © 2026 Device Supply. |
| **Home** | https://devicegrading.com (ugp.devicesupply.ca redirects there) |
| **Cite as** | *Universal Grading Protocol v1.0* (Device Supply, 2026) |

<Callout kind="note">**Public comment draft.** This draft is published for comment. It can change before v1.0 is final. The cosmetic tolerance counts in [§5.5](https://devicegrading.com/v1.0/spec/cosmetic#tolerances) are marked **provisional** and are specifically open for comment and data. Records graded to this draft cite it as *UGP v1.0 (public comment draft)*.</Callout>

Read the [Conventions](https://devicegrading.com/v1.0/spec/conventions) first: they say how requirements are worded.

### Contents [#contents]

- [§0 Introduction](https://devicegrading.com/v1.0/spec/introduction)
- [§1 Scope](https://devicegrading.com/v1.0/spec/scope)
- [§2 References](https://devicegrading.com/v1.0/spec/references)
- [§3 Terms and definitions](https://devicegrading.com/v1.0/spec/terms)
- [§4 The UGP record](https://devicegrading.com/v1.0/spec/record)
- [§5 Cosmetic axis](https://devicegrading.com/v1.0/spec/cosmetic)
- [§6 New devices](https://devicegrading.com/v1.0/spec/new-devices)
- [§7 Functional axis](https://devicegrading.com/v1.0/spec/functional)
- [§8 Battery axis](https://devicegrading.com/v1.0/spec/battery)
- [§9 Locks, operator lock and identity](https://devicegrading.com/v1.0/spec/locks)
- [§10 Data, parts, kit and Premium](https://devicegrading.com/v1.0/spec/data-parts-kit)
- [§11 Status and grade](https://devicegrading.com/v1.0/spec/status-and-grade)
- [§12 Core code](https://devicegrading.com/v1.0/spec/core-code)
- [§13 Conformance and claims](https://devicegrading.com/v1.0/spec/conformance)
- [§14 Application to marketplaces and B2B trade](https://devicegrading.com/v1.0/spec/marketplaces)
- [§15 Mapping to other systems](https://devicegrading.com/v1.0/spec/mapping)
- [§16 Device-class profiles](https://devicegrading.com/v1.0/spec/profiles)
- [§17 Licence, names and certification](https://devicegrading.com/v1.0/spec/licence)
- [§18 Governance and versioning](https://devicegrading.com/v1.0/spec/governance)
- [§19 Public comment](https://devicegrading.com/v1.0/spec/public-comment)
- [Annex A Fault lexicon](https://devicegrading.com/v1.0/spec/fault-lexicon)
- [Annex B JSON record schema](https://devicegrading.com/v1.0/spec/record-schema)
- [Annex C Official names in other languages](https://devicegrading.com/v1.0/spec/names)
- [Annex D Mapping to other systems](https://devicegrading.com/v1.0/spec/mapping-table)
- [Annex E Worked examples](https://devicegrading.com/v1.0/spec/worked-examples)
- [Annex F Figures](https://devicegrading.com/v1.0/spec/figures)
- [Annex G Revision history and contributors](https://devicegrading.com/v1.0/spec/revision-history)

## Conventions

> How to read the specification: shall, should and may, and which sections are informative.

Source: https://devicegrading.com/v1.0/spec/conventions

### How to read this document [#how-to-read]

**shall** is a requirement. **should** is a recommendation. **may** is a permission. Sections marked *(informative)* explain or give examples and are not requirements. Everything else is normative.

### On this site [#on-this-site]

*(Informative.)* The three keywords are set in lowercase bold wherever they carry the meaning above, on every page and in the PDF. Each page of the specification carries a **Normative** or **Informative** tag; within a normative page, a heading or note marked *(informative)* is informative.

Section numbers are those of the PDF. Links to a section are pinned to the version they were written for, so a link to `/v1.0/spec/core-code#grammar` keeps pointing at the v1.0 text after later versions are published.

The Documentation and Adopt tabs explain the standard in plain words. They are informative: where they and the specification differ, the specification governs.

## §0 Introduction

> Why device grading needs one record per device and plain grade names in a fixed order.

Source: https://devicegrading.com/v1.0/spec/introduction

Device grading is scattered. Each source uses its own words:

| Source | How it grades |
|---|---|
| Wholesale price sheets | A/B/C/D, with "+" and "−" meaning different things on different sheets |
| CTIA | A vector of letters and digits |
| Consumer marketplaces | Praise words that run in no fixed order. "Excellent" is the second tier on one site and the top on another. "Good" reads to most buyers as the most worn. |

A buyer cannot compare one source's grade with another's.

UGP fixes this with three ideas:

1. **One record, several views.**
   - Each device is described once, along separate axes: appearance, function, battery, locks, data, parts and accessories.
   - Every audience reads its view from that same record: a buyer's grade name, a wholesale code, a machine-readable core code, and a mapping to other systems.
2. **A grade means "ready to resell".**
   - A device receives a UGP grade only when it is fully functional, has no cracks anywhere, holds at least 80% battery health, carries no account or management lock, and has been wiped.
   - The grade then describes one thing only: **how the device looks**.
   - A device that does not meet those conditions is still recorded under UGP, but it receives a **status** (for example "Repair" or "Encumbered") instead of a grade.
3. **Plain words in a fixed order, each with a test anyone can repeat.**
   - New Sealed, New Open Box, Like New, Very Good, Good, Acceptable.
   - Each grade has a short code and a one-line test (look at arm's length; run a finger over the surface).
   - A precise defect table sits behind each test.

UGP **maps to** the CTIA Wireless Device Grading Scales and to the major marketplaces' condition names (Annex D). It is not, and does not claim to be, any of them.

## §1 Scope

> What UGP describes, which device classes v1.0 covers, and what UGP does not do.

Source: https://devicegrading.com/v1.0/spec/scope

### 1.1 What UGP describes [#what-ugp-describes]

UGP describes the condition of an individual consumer electronic device, or a declared lot of devices, offered for resale or recorded for any other purpose (trade-in, buyback, repair, recycling).

### 1.2 Device classes [#device-classes]

**Device classes** are covered by profiles:
- The **Phone** profile is complete in v1.0.
- The **Tablet** profile is complete in v1.0 and inherits the Phone profile with scaled tolerances.
- Smartwatch, earbuds, laptop/desktop, console/handheld/controller, and VR headset/smart glasses are listed in [§16](https://devicegrading.com/v1.0/spec/profiles) as **profile packs to come**. Until a pack is published, a device in those classes **may** be graded only for the axes this document defines generically, and the record **shall** carry `profile_status: "provisional"`.

### 1.3 What UGP does not do [#what-ugp-does-not-do]

UGP does not:
- certify a device;
- warrant anything on behalf of the person who grades it;
- set prices or commercial terms.

Marketplaces and businesses that adopt UGP set their own listing policies. Those policies are kept out of this standard.

## §2 References

> Normative and informative references, including NIST SP 800-88 Rev. 2, ISO 2859-1 and CTIA v5.1.

Source: https://devicegrading.com/v1.0/spec/references

**Normative:**
- **NIST SP 800-88 Rev. 2** (Sept. 2025), *Guidelines for Media Sanitization*. Rev. 1 is withdrawn, so records **shall** state the revision used.
- **IEEE 2883**, *Standard for Sanitizing Storage*.
- **ISO 2859-1**, *Sampling procedures for inspection by attributes* (lot grading, [§14.5](https://devicegrading.com/v1.0/spec/marketplaces#lot-grading)).

**Informative:**
- **CTIA Certification**, *Wireless Device Grading Scales: Criteria and Definitions*, v5.1 (June 2026).
- SERI R2v3 Equipment Categorization.
- e-Stewards Standard v4.1.

UGP aligns its inspection method and its defect sizes with CTIA v5.1 so that the mapping in Annex D holds. It reproduces none of CTIA's tables.

## §3 Terms and definitions

> Axis, grade, status, crack, surface zone, basis, encumbrance, core code and the other defined terms.

Source: https://devicegrading.com/v1.0/spec/terms

**Axis.** One independent dimension of a device's condition: cosmetic, functional, battery, locks, operator lock, data, parts, kit.

**Grade.** The resale condition name and code: New Sealed (NS), New Open Box (OB), Like New (A), Very Good (B), Good (C), Acceptable (D). It is given only to a device whose status is READY ([§11](https://devicegrading.com/v1.0/spec/status-and-grade)).

**Status.** The resale-readiness output of a record: READY, REPAIR, PARTS, ENCUMBERED, UNSANITIZED, PROHIBITED or NOT GRADED ([§11](https://devicegrading.com/v1.0/spec/status-and-grade)).

**Fully functional.** Every key function and every secondary function the device was designed with works to the manufacturer's specification, with no fault in the fault lexicon (Annex A). Functional status FF.

**Crack.** Any fracture of glass, ceramic, plastic or metal on any surface, including the display cover glass, camera lens covers and back glass. Defect code K.

**Surface zone.** A named external region where defects are counted:
- **AA**: display and camera lenses
- **A**: front housing
- **B**: back, sides, buttons and ports area
- **C**: connectors and contacts
- **L**: optical lenses in the viewing path, for VR and glasses
- **V**: the back of a wearable

See Figure 1.

**Defect level.** The severity of a scratch, S1 to S4, by size and fingernail feel (Figure 2).

**Arm's-length test.** The buyer-facing summary of a grade: what a person with normal or corrected vision sees at about 45 cm (18 in), and what they feel with a fingertip. The inspection protocol ([§5.4](https://devicegrading.com/v1.0/spec/cosmetic#inspection-protocol)) governs the grade itself. The test describes the result in plain words.

**Basis.** How a value was obtained:
- **measured**: by an instrument or software reading;
- **evidenced**: supported by stored evidence such as photos or a report;
- **declared**: stated by the grader or seller, who is answerable for it;
- **unknown**.

**Encumbrance.** Any non-physical impediment to activation or use by a new owner: an account lock, management enrolment, firmware lock, service ban, or financing hold.

**Operator lock.** A carrier or network lock that restricts the SIM networks a device accepts.

**Core code.** The compact, machine-readable string that encodes one record ([§12](https://devicegrading.com/v1.0/spec/core-code)).

**Grader.** The person, facility or system that produces a UGP record, identified by a pseudonymous grader ID.

**Supplier-mapped grade.** A grade transcribed from a supplier's own grading scale through a published crosswalk, instead of derived from the unit's observed defects ([§13.6](https://devicegrading.com/v1.0/spec/conformance#supplier-mapped)).

**Adopter.** Any business that grades to UGP or displays UGP grades.

**Lot.** A declared group of units of the same model and declared grade, sold together or under one listing.

## §4 The UGP record

> What a UGP record contains, and why the grade is derived from it and never entered by hand.

Source: https://devicegrading.com/v1.0/spec/record

### 4.1 Contents of a record [#contents-of-a-record]

A UGP record **shall** contain:
- **Identity:** class, profile, make, model, model number, storage, colour, region, IMEI or serial number, and the lost/stolen (blacklist) result `identity.blacklist`: `status` `clear`, `reported` or `unchecked`, and for `clear` its `basis`, either a check (`measured` or `evidenced`, with its source and date) or the grader's or seller's declaration that the device is not reported lost or stolen (`declared`) ([§9.3](https://devicegrading.com/v1.0/spec/locks#identity-checks)).
- **The eight axes:** cosmetic, functional, battery, locks, operator lock, data, parts and kit.
- **Audit fields:** UGP version, grader ID, timestamp, method (human, camera, hybrid), verification tier, conformance level, record scope (unit or lot).

### 4.2 Basis on every value [#basis-on-every-value]

Each axis value carries a **basis** ([§3](https://devicegrading.com/v1.0/spec/terms)).

### 4.3 Raw observations [#raw-observations]

Raw observations **shall** be stored, not only conclusions. That means per-zone defect lists, fault codes, battery readings and part states. A change to a tolerance in a later version can then recompute the grade without re-inspecting the device.

### 4.4 Derived results [#derived-results]

**The grade, the status and the core code are derived from the record by a deterministic function.** They **shall** never be entered by hand. Reference behaviour is in Annex E (worked examples). The one exception is the cosmetic value of a supplier-mapped grade, which comes from a published crosswalk ([§13.6](https://devicegrading.com/v1.0/spec/conformance#supplier-mapped)).

## §5 Cosmetic axis

> Defect types, scratch levels, cosmetic values, the inspection protocol and the phone tolerance table.

Source: https://devicegrading.com/v1.0/spec/cosmetic

### 5.1 Defect types [#defect-types]

| Type | Measured by |
|---|---|
| Scratch `S1–S4` | Length × width and fingernail feel (5.2) |
| Dent / ding `DN1–DN3` | DN1 ≤ 1 mm, no visible deformation at inspection distance. DN2 ≤ 3 mm. DN3 > 3 mm, or affects fit or seal. |
| Chip `CH1–CH2` | CH1 ≤ 1 mm. CH2 > 1 mm (edge of glass, coating or housing). |
| Crack `K` | Any fracture. **Never permitted in a grade.** |
| Discolouration / wear-through `X` | Coating, anodising or paint loss; yellowing. Graded as minor or major. |
| Missing external part `M` | SIM tray, button, screw, mesh, foot. **Never permitted in a grade.** |
| Liquid-damage indicator `LDI` | Triggered or not. **A triggered indicator is never permitted in a grade.** |

### 5.2 Scratch levels (Figure 2) [#scratch-levels]

| Level | Size (L × W) | Feel |
|---|---|---|
| S1 | ≤ 0.5 × ≤ 0.05 mm | Seen only at an angle |
| S2 | ≤ 1.5 × ≤ 0.25 mm | Visible at any angle; no fingernail catch |
| S3 | ≤ 2.0 × ≤ 0.5 mm | Fingernail catches, does not stop |
| S4 | beyond S3 in any dimension | Fingernail catches and stops |

A **cluster** of five or more scratches within a 10 mm circle counts as one S4.

### 5.3 Cosmetic values recorded on the cosmetic axis [#cosmetic-values]

| Value | Meaning |
|---|---|
| `S` | New, factory sealed (not inspected; see [§6](https://devicegrading.com/v1.0/spec/new-devices)) |
| `O` | New, unsealed, never activated, zero defects ([§6](https://devicegrading.com/v1.0/spec/new-devices)) |
| `A`, `B`, `C`, `D` | Within the tolerance of grade A, B, C or D ([§5.5](https://devicegrading.com/v1.0/spec/cosmetic#tolerances)). Append `0` when zone AA has zero defects (e.g. `A0`). |
| `K` | Cracked anywhere, LDI triggered, or a missing external part, with the internal display intact. **No grade.** |
| `E` | Severe damage: internal display damage, corrosion, a frame bent so that it affects fit, or several missing parts. **No grade.** |
| `N` | Not inspected |

### 5.4 Inspection protocol (Figure 3) [#inspection-protocol]

**Viewing conditions:**
- cool-white light of at least 500 lumens;
- the grader has normal or corrected vision;
- the device is held about 45 cm (18 in) away;
- about 4 seconds per surface and 6 seconds on zone AA;
- zone AA is tilted to 45° to find cracks;
- magnify only to confirm a defect's size.

*Credit: these viewing conditions follow the inspection conditions in CTIA Certification's* Wireless Device Grading Scales: Criteria and Definitions *v5.1, §2.5. UGP is not affiliated with or endorsed by CTIA Certification. "CTIA" is a mark of its owner, used here only to identify that document.*

Camera-based (CV) grading is permitted if it is calibrated to the same defect levels. The record states `method: cv` or `hybrid`.

### 5.5 Phone tolerance table: maximum count per zone [#tolerances]

A device that exceeds a column drops to the next grade. A device that exceeds D, or that has any K, M or triggered LDI, has cosmetic value `K` or `E` and no grade.

| Zone | **A · Like New** | **B · Very Good** | **C · Good** | **D · Acceptable** |
|---|---|---|---|---|
| **AA** display + lenses | S1 ≤ 2 | S1 ≤ 4 · S2 ≤ 1 | S1 ≤ 6 · S2 ≤ 3 | S2 any · S3 ≤ 3 · no S4 |
| **A** front housing | S1 ≤ 3 · S2 ≤ 1 | S2 ≤ 5 | S2 ≤ 5 · S3 ≤ 1 · CH1 ≤ 1 | S3 ≤ 6 · S4 ≤ 2 · CH2 permitted |
| **B** back / sides | S1 ≤ 5 · S2 ≤ 2 · DN1 ≤ 1 | S2 ≤ 10 · DN1 ≤ 2 · CH1 ≤ 1 | S2 any · S3 ≤ 3 · DN2 ≤ 2 · CH1 ≤ 2 · X minor | S1–S3 any · S4 ≤ 4 · DN3 if fit and seal are unaffected · X permitted |
| **C** connectors | S2 ≤ 3 | S2 ≤ 3 | any; contacts undamaged | any; contacts work |

<Provisional>

Every count in this table is provisional in the public comment draft. Comments with inspection data are invited ([§19](https://devicegrading.com/v1.0/spec/public-comment)). Records **shall** carry `tolerance_table: "phone-1.0-provisional"` until the steward publishes the table as final. Because raw defects are stored ([§4.3](https://devicegrading.com/v1.0/spec/record#raw-observations)), a revised table recomputes grades without re-inspection.

</Provisional>

**Tablet profile:** the same table with every count × 1.5, rounded down.

## §6 New devices

> New Sealed and New Open Box: what qualifies, and the kit of an open-box device.

Source: https://devicegrading.com/v1.0/spec/new-devices

### 6.1 New Sealed (NS) [#new-sealed]

The device is in its manufacturer's retail packaging with the factory seal intact. It **shall** never have been refurbished, resealed or issued as a warranty replacement.
- Because the device cannot be inspected, its cosmetic value is `S`, functional status `FX`, battery `NA`, locks `N`, data `N`, parts `N`.
- The lost/stolen requirement of [§9.3](https://devicegrading.com/v1.0/spec/locks#identity-checks), a check or a declaration, still applies. Where the box shows an IMEI or serial number, a check is possible without opening it.

### 6.2 New Open Box (OB) [#new-open-box]

- The seal is broken.
- The device has **never been activated or set up**. An activated device is a used device, however briefly it was used.
- It has **zero defects** on every zone (cosmetic value `O`).
- It is **fully functional** (FF), tested after opening.
- It meets every other READY requirement ([§11](https://devicegrading.com/v1.0/spec/status-and-grade)).

### 6.3 Kit for OB [#kit-for-ob]

- **full**: original box with all original contents;
- **partial**: original box, with missing items listed;
- **handset only**: no box. Its label is **"New Open Box · Handset only"**.

### 6.4 Evidence of never activated (informative) [#evidence-of-never-activated]

Examples:
- the device starts at its first-run setup screen;
- the manufacturer's coverage check shows coverage has not started;
- the record shows no account history.

## §7 Functional axis

> Key and secondary functions, fault codes and the functional status FF, FM, FJ, FK or FX.

Source: https://devicegrading.com/v1.0/spec/functional

### 7.1 Key and secondary functions [#key-and-secondary-functions]

Each profile lists the device's **key functions** and **secondary functions** ([§16](https://devicegrading.com/v1.0/spec/profiles)).

### 7.2 Fault codes [#fault-codes]

Faults are recorded with codes from the fault lexicon (Annex A). Each code has a default severity: *minor*, *major* or *key*.

### 7.3 Functional status [#functional-status]

**Functional status** is derived from the recorded faults:

| Status | Meaning |
|---|---|
| **FF** | Fully functional: no faults |
| **FM** | Minor faults only |
| **FJ** | One or more major faults; all key functions work |
| **FK** | A key function fails (no power, no boot, display inoperable, no calls, does not charge) |
| **FX** | Not tested |

### 7.4 A grade requires FF [#a-grade-requires-ff]

A device with FM, FJ or FK has status REPAIR or PARTS ([§11](https://devicegrading.com/v1.0/spec/status-and-grade)).

### 7.5 CTIA functional class [#ctia-functional-class]

For phones, tablets and watches, a record **may** emit the CTIA functional class, derived from the recorded faults: display-fault severity against other-fault severity, using CTIA's published classification. FF always derives class 1. Other classes are emitted as `derived`. UGP does not reproduce CTIA's table.

## §8 Battery axis

> The battery axis of UGP v1.0 (§8): battery health bands, the 80% rule and the charge-hold test for used phones and tablets.

Source: https://devicegrading.com/v1.0/spec/battery

### 8.1 Battery fields [#battery-fields]

The record holds:
- `battery_health_pct` for the governing cell, with its basis;
- per-cell values for multi-cell devices (for example an earbud case and the left and right buds);
- `battery_replaced`: genuine, non-genuine or unknown, where known.

### 8.2 Bands (derived) [#bands]

| Band | Health | Effect |
|---|---|---|
| premium | ≥ 90% (measured) | Eligible for the Premium designation ([§10.3](https://devicegrading.com/v1.0/spec/data-parts-kit#premium-designation)) |
| standard | 80–89% measured, or **declared ≥ 80%** | Gradable |
| service | \< 80% | **Not gradable.** Status REPAIR. |
| unknown | no reading and no declaration | **Not gradable.** Status NOT GRADED. |
| na | no battery, or sealed ([§6.1](https://devicegrading.com/v1.0/spec/new-devices#new-sealed)) | — |

### 8.3 The 80% rule [#80-percent-rule]

No battery-bearing device graded under UGP **shall** have battery health below 80% of its original capacity.
- A grader or seller **may** **declare** "≥ 80%" without a reading.
- A declaration makes them answerable for it, and it is shown as declared.
- A measured reading, when available, **shall** be recorded and shown.

### 8.4 Devices without a readable health figure [#charge-hold-test]

**Devices without a readable health figure** (most earbuds and some wearables) use a **charge-hold test**: charge to full, then run the profile's standard load for the profile's set time. The result is `CP` (pass, which counts as standard) or `CF` (fail, which counts as service).

## §9 Locks, operator lock and identity

> Account and management locks, the operator (carrier) lock, and the lost or stolen check or declaration.

Source: https://devicegrading.com/v1.0/spec/locks

### 9.1 Encumbrance axis (L) [#encumbrance-axis]

The axis covers:
- account or activation lock (Apple Activation Lock / Find My, Google FRP, manufacturer accounts);
- management enrolment (MDM, Apple Business Manager / Device Enrollment, Android Enterprise);
- firmware or EFI passwords;
- console service bans;
- financing holds.

The values are:
- `C`: clear;
- `E`: encumbered (the record lists the lock types);
- `U`: unknown;
- `N`: not applicable (sealed).

**A grade requires `C`.**

### 9.2 Operator lock axis (R) [#operator-lock-axis]

The values are:
- `U`: unlocked;
- `L`: locked (the carrier is recorded);
- `V`: unknown;
- `N`: not applicable (no cellular radio).

An operator lock does not prevent a grade, but it **shall** be disclosed in every view of the grade. Adopters **may** refuse locked devices.

### 9.3 Identity checks [#identity-checks]

A grade requires one of:
- a **lost/stolen (blacklist) check** against a database covering the device's market, recorded with its source and date:
  - in Canada, Device Check Canada (Canadian Telecommunications Association);
  - elsewhere, a GSMA Device Check–based service;
- or a **declaration** by the grader or seller that the device is not reported lost or stolen. A declaration makes them answerable for it. It is recorded as `blacklist: {status: "clear", basis: "declared"}` and disclosed with the grade (disclosure `lost_stolen_declared`).

A device with neither a check nor a declaration (`blacklist.status: "unchecked"`) has status **NOT GRADED**, reason `lost_stolen_unchecked`. A device the check finds reported (`reported`) is **PROHIBITED**, whatever was declared.

A device reported lost or stolen, a counterfeit, a recalled-unsafe device, or a device whose software and hardware IMEIs differ, has status **PROHIBITED**.

## §10 Data, parts, kit and Premium

> Data sanitisation, the parts manifest, the Premium designation and the kit.

Source: https://devicegrading.com/v1.0/spec/data-parts-kit

### 10.1 Data sanitisation (D) [#data-sanitisation]

Sanitisation follows NIST SP 800-88 Rev. 2 and IEEE 2883. The record states the method (clear, purge, destroy), the technique, the tool and version, a certificate ID where one exists, and the revision of the standard used.

For phones and tablets with hardware encryption, a factory reset is a cryptographic erase. To count as sanitised it must reach the first-run setup screen with every account and activation state cleared.

The values are:
- `V`: sanitised and verified;
- `W`: sanitised, declared;
- `X`: not sanitised;
- `U`: unknown;
- `N`: not applicable (sealed).

**A grade requires `V` or `W`.**

### 10.2 Parts (P) [#parts]

#### 10.2.1 Parts manifest [#parts-manifest]

The record holds a **parts manifest** for every part the profile tracks. For phones these are the battery, display, rear camera(s), front camera and logic board. Each part has one of these states:
- `genuine`;
- `non-genuine`;
- `used-genuine` (a genuine part taken from another device);
- `unknown`;
- `not-checkable`.

*(Informative: iOS Parts and Service History reports Genuine, Unknown Part, Used and Unverified.)*

#### 10.2.2 Roll-up value [#roll-up-value]

The roll-up value is:
- `G`: all tracked parts genuine, verified;
- `D`: all genuine, declared;
- `M`: one or more non-genuine parts (each listed);
- `U`: not verified;
- `N`: not applicable (sealed new).

#### 10.2.3 Non-genuine parts [#non-genuine-parts]

**Non-genuine parts are permitted in grades A–D** and **shall** be disclosed in every view of the grade, naming the part (for example "Display: non-genuine"). They are not permitted in NS, OB or Premium. Showing `U` is optional. Where an adopter does display parts, `U` **shall** read "Parts not verified" and never imply genuineness.

### 10.3 Premium designation [#premium-designation]

**Premium** is a designation on a **Like New (A)** grade, not a grade of its own. It requires all of:
- cosmetic value `A0`, meaning zero defects on the display and camera lenses;
- battery **≥ 90%, measured**;
- parts `G`, meaning all tracked parts genuine and verified.

### 10.4 Kit (K) [#kit]

The record holds a component manifest: item, present, OEM, condition, quantity. Each profile publishes its required components.

The roll-up value is:
- `F`: full, every required component present and OEM;
- `P`: partial, with missing items listed;
- `H`: unit only, with no box and no accessories ("Handset only" on New Open Box).

Kit is disclosed. It never changes the grade.

## §11 Status and grade

> How a record's status is derived, the six grades, what every grade means, and the display rules.

Source: https://devicegrading.com/v1.0/spec/status-and-grade

### 11.1 Status [#status]

**Status** is derived from the record. The first rule that matches applies:

| Status | Triggered by | Grade? |
|---|---|---|
| **PROHIBITED** | Reported lost or stolen; counterfeit; recalled-unsafe; IMEI mismatch or tampering | No |
| **ENCUMBERED** | Encumbrance axis `E` or `U` | No |
| **UNSANITIZED** | Data `X` or `U` (not sealed) | No |
| **PARTS** | Cosmetic `E`; or FK with `disposition: parts` | No |
| **REPAIR** | Cosmetic `K`; FM, FJ or FK; battery band service, or a charge-hold fail | No |
| **NOT GRADED** | Cosmetic `N`; FX on an unsealed device; battery band unknown; no lost/stolen check and no declaration (`blacklist.status` `unchecked`, reason `lost_stolen_unchecked`, [§9.3](https://devicegrading.com/v1.0/spec/locks#identity-checks)) | No |
| **READY** | None of the above | **Yes** |

Each status carries `reasons[]` listing the lexicon or axis codes that caused it.

### 11.2 Grade [#grade]

A READY device receives exactly one grade:

| Code | Grade | Cosmetic value | Arm's-length test (shown with the name) | Meter |
|---|---|---|---|---|
| **NS** | **New Sealed** | S | Factory-sealed box. Never opened. | — |
| **OB** | **New Open Box** (· Handset only) | O | Never activated. No wear. Box opened. | — |
| **A** | **Like New** | A / A0 | Looks new. Nothing you can see at arm's length. | ▮▮▮▮ |
| **B** | **Very Good** | B / B0 | Light marks on the body you can see but not feel. Screen near perfect. | ▮▮▮▯ |
| **C** | **Good** | C / C0 | Clear scratches or small dents you can feel on the body. Screen marks invisible when it's on. | ▮▮▯▯ |
| **D** | **Acceptable** | D / D0 | Heavy cosmetic wear: deep scratches, dents, chips. Never cracked. | ▮▯▯▯ |

The official names in other languages are in [Annex C](https://devicegrading.com/v1.0/spec/names).

### 11.3 Every UGP grade means [#every-grade-means]

- fully functional;
- no cracks anywhere;
- no triggered liquid indicator;
- battery ≥ 80% (or not applicable);
- no account or management lock;
- data sanitised;
- not reported lost or stolen, by a lost/stolen check or by the grader's or seller's declaration ([§9.3](https://devicegrading.com/v1.0/spec/locks#identity-checks)).

**The grade name describes appearance only.**

### 11.4 Display rules for any view of a grade [#display-rules]

- (a) Show the **name with its code and its one-line test**, or link to the test from the name.
- (b) Show the operator lock if the device is locked ([§9.2](https://devicegrading.com/v1.0/spec/locks#operator-lock-axis)), non-genuine parts if present ([§10.2.3](https://devicegrading.com/v1.0/spec/data-parts-kit#non-genuine-parts)), and the kit if it is not full.
- (c) Never show a grade without the version it was graded under, in any document of sale ([§14.6](https://devicegrading.com/v1.0/spec/marketplaces#version-pinning)).
- (d) Use the published name in the reader's language (Annex C). Do not substitute other praise words.
- (e) The B2B code alone (A–D, NS, OB) **may** be used where space is constrained, such as price sheets, labels and exports, provided the full name is reachable.

*(Informative: a four-segment meter and a separate tint for new grades are the recommended visual treatment; see Figure 4.)*

## §12 Core code

> The compact, machine-readable string that encodes one UGP record: grammar, regular expression and examples.

Source: https://devicegrading.com/v1.0/spec/core-code

### 12.1 Grammar [#grammar]

```
core_code = "U" major "-" class "-C" cos "-F" func "-B" bat "-L" lock "-R" op "-D" data "-P" parts "-K" kit [ "~" ext *( "," ext ) ]
class = PHN | TAB | WCH | BUD | LAP | DSK | CON | CNH | CNX | CTL | VRH | GLS | TRK
cos   = "S" | "O" | ("A" | "B" | "C" | "D") ["0"] | "K" | "E" | "N"
func  = "F" | "M" | "J" | "K" | "X"                 ; FF, FM, FJ, FK, FX
bat   = (2DIGIT | "100") ("M" | "D") | "NA" | "UN" | "CP" | "CF"
lock  = "C" | "E" | "U" | "N"
op    = "U" | "L" | "V" | "N"
data  = "V" | "W" | "X" | "U" | "N"
parts = "G" | "D" | "M" | "U" | "N"
kit   = "F" | "P" | "H"
ext   = key ":" value                                ; profile extensions, sorted by key
```

An extension key is a lower-case identifier (`[a-z][a-z0-9_.-]*`); a value is one or more of `A–Z a–z 0–9 _ . + % / -`, so it never contains `,` `~` `:` or a space. v1.0 defines one extension: `src:supplier`, carried by a supplier-mapped grade ([§13.6](https://devicegrading.com/v1.0/spec/conformance#supplier-mapped)), as in <CoreCode>U1-PHN-CC-FF-B80D-LC-RU-DW-PU-KF~src:supplier</CoreCode>.


### 12.2 Regular expression (without extensions) [#regular-expression]

```
^U\d+-(PHN|TAB|WCH|BUD|LAP|DSK|CON|CNH|CNX|CTL|VRH|GLS|TRK)-C(S|O|[ABCD]0?|K|E|N)-F[FMJKX]-B((\d{2}|100)[MD]|NA|UN|CP|CF)-L[CEUN]-R[ULVN]-D[VWXUN]-P[GDMUN]-K[FPH]$
```

### 12.3 Not-applicable axes [#not-applicable-axes]

An axis that does not apply is encoded as not-applicable, **never omitted**. Every code has the same shape.

### 12.4 Reading the grade and Premium [#reading-the-grade-and-premium]

The grade and the Premium designation can be read from the code: grade = the cosmetic letter when every other axis is READY-compatible. Status PROHIBITED, and NOT GRADED for want of a lost/stolen check or declaration, depend on the identity axis, which the code does not carry. A supplier-mapped grade can be read from the code by its `~src:supplier` extension. A core code therefore **shall** always travel with its record, or with a statement that the lost/stolen check was performed or the declaration made.

### 12.5 Examples [#examples]

```
U1-PHN-CA0-FF-B93M-LC-RU-DV-PG-KF   → Like New · Premium
U1-PHN-CB-FF-B80D-LC-RU-DW-PU-KH    → Very Good · battery declared ≥80% · parts not verified · unit only
U1-PHN-CS-FX-BNA-LN-RU-DN-PN-KF     → New Sealed
U1-PHN-CO-FF-B100M-LC-RU-DV-PG-KH   → New Open Box · Handset only
U1-PHN-CD-FF-B84M-LC-RL-DV-PM-KF    → Acceptable · carrier-locked (disclosed) · non-genuine part (disclosed)
U1-PHN-CK-FF-B91M-LC-RU-DV-PG-KF    → no grade · status REPAIR (reason: K, cracked back glass)
U1-TAB-CA-FF-B95M-LE-RN-DV-PG-KP    → no grade · status ENCUMBERED (reason: MDM)
```

## §13 Conformance and claims

> Conformance to UGP v1.0 (§13): the conformance levels, the verification tiers and the claim format an adopter uses to say how it grades.

Source: https://devicegrading.com/v1.0/spec/conformance

### 13.1 Conformance levels [#conformance-levels]

| Level | Requirement |
|---|---|
| **UGP-Full** | Every applicable axis recorded per this standard; core code produced; audit trail kept |
| **UGP-Cosmetic** | Cosmetic axis graded per [§5](https://devicegrading.com/v1.0/spec/cosmetic); other axes **may** be `unknown`. **No grade** **may** be shown; only the cosmetic value. |
| **UGP-Functional** | Functional, locks and data axes recorded; cosmetic **may** be `N` |

### 13.2 Verification tiers [#verification-tiers]

| Tier | Name | Requirement |
|---|---|---|
| **V0** | Declared | The grader or seller supplies the record and answers for it |
| **V1** | Evidenced | V0, plus the profile's photo set, a diagnostic report, and the identity check (a lost/stolen check, not a declaration), timestamped within 72 hours of the offer |
| **V2** | Inspected | The unit, or a lot sample per [§14.5](https://devicegrading.com/v1.0/spec/marketplaces#lot-grading), inspected by the steward or an inspector approved by the steward |

### 13.3 Claim format [#claim-format]

A party that grades to UGP **shall** state the version, the conformance level and the verification tier:

> *Graded to UGP v1.0 · UGP-Full · V0 Declared*

### 13.4 Letter or name alone [#letter-or-name-alone]

A letter or name alone, without the version, is not a conformant claim.

### 13.5 "UGP Verified" [#ugp-verified]

**"UGP Verified"** **may** be used only for V2 units inspected under the steward's certification programme ([§17.5(d)](https://devicegrading.com/v1.0/spec/licence#name-and-badges)).

### 13.6 Supplier-mapped grades [#supplier-mapped]

A **supplier-mapped** grade is a grade whose cosmetic value is transcribed from a supplier's own grading scale through a published crosswalk, instead of derived from the unit's observed defects under [§5](https://devicegrading.com/v1.0/spec/cosmetic).
- The crosswalk maps each of the supplier's grades to one UGP grade. The party that applies it publishes it.
- The record carries `axes.cosmetic.mapped_from`: `{scale, value, crosswalk}`, the supplier's scale, its own grade and the crosswalk used, with cosmetic basis `declared`. The supplier's own grade is the stored raw observation for the cosmetic axis ([§4.3](https://devicegrading.com/v1.0/spec/record#raw-observations)).
- The other axes are recorded or declared as for any other grade, and the status rules of [§11.1](https://devicegrading.com/v1.0/spec/status-and-grade#status) apply unchanged. A supplier grade that allows a fault, a crack, a lock or a battery below 80% maps to a status, never to a grade.
- Its verification tier is **V0 Declared**: the party that maps it answers for it.
- It **shall** be labelled as supplier-mapped in every record and every export that carries it: the derivation lists the disclosure `supplier_mapped` with the grade, and the core code carries the extension `~src:supplier` ([§12.1](https://devicegrading.com/v1.0/spec/core-code#grammar)). The supplier's name stays in the record and never enters the core code ([§14.4](https://devicegrading.com/v1.0/spec/marketplaces#anonymity)).
- A claim for supplier-mapped grades **should** say so: *Graded to UGP v1.0 · UGP-Full · V0 Declared · supplier-mapped*.
- A grade derived from observed defects is preferred wherever the units can be inspected.

## §14 Application to marketplaces and B2B trade

> Evidence, material misgrades, anonymity, lot grading, version pinning and grade accuracy on any sales channel.

Source: https://devicegrading.com/v1.0/spec/marketplaces

This section is neutral. It applies to any channel that adopts UGP.

### 14.1 Why [#why]

On an anonymised or wholesale channel, buyers cannot price in a seller's reputation, so the grade is the contract. That works only if grades are evidenced, tolerances are defined, and misgrades have consequences.

### 14.2 Evidence package (V1) [#evidence-package]

It includes:
- photos per the profile's capture list, on a neutral background, under protocol lighting, with no seller labels, tags or identifying backgrounds, and with EXIF and location data removed;
- a diagnostic report stored by its hash;
- the identity and activation checks, each with its source and timestamp.

### 14.3 Material misgrade [#material-misgrade]

A unit is materially misgraded if any of these holds:
- (a) at receipt it is one or more **rungs** below the declared grade on the ladder NS > OB > A > B > C > D;
- (b) it has any fault, crack or triggered liquid indicator, because a graded unit must have none;
- (c) it has an undisclosed encumbrance, lost/stolen report or operator lock;
- (d) its battery is below 80%, or below a measured value that was declared;
- (e) a non-genuine part is undisclosed, or parts declared `G`/`D` are not genuine;
- (f) its identity does not match (model, storage, colour, region, IMEI or serial).

A **minor variance** is a zone over tolerance without a change of grade. Adopters set remedies. The standard recommends a full return for a material misgrade and partial credit for a minor variance.

### 14.4 Anonymity [#anonymity]

In any buyer-facing view:
- grader IDs are pseudonymous;
- no seller identifier appears in records, notes, file names or photos.

### 14.5 Lot grading [#lot-grading]

- **Preferred:** a per-unit record for every device in the lot.
- **Permitted:** a lot record (`record_scope: lot`) declaring the grade, or the grade distribution, plus a sampling plan under ISO 2859-1, general inspection level II, with these default AQLs:
  - cosmetic 2.5;
  - functional 1.0;
  - identity and encumbrance 0, so any failure fails the lot.
- The tolerance on a declared distribution is ±5 percentage points per grade.

### 14.6 Version pinning [#version-pinning]

- Every offer and every document of sale **shall** record the UGP version under which the unit was graded.
- Disputes are judged against that version.
- A record is not reinterpreted under a later version, though it **may** be **regraded** from its stored raw data and re-issued.

### 14.7 Grade accuracy score [#grade-accuracy-score]

Adopters **should** keep, for each seller or facility, the share of units received as described over a trailing 90 days. They **may** use it to set the required verification tier, sampling rates and payment holds.

## §15 Mapping to other systems

> How UGP maps to CTIA, R2 and marketplace condition names, without claiming equivalence.

Source: https://devicegrading.com/v1.0/spec/mapping

Annex D maps UGP grades to CTIA v5.1, R2, and the condition names used by major marketplaces. **The mapping is informative.**
- UGP **maps to** these systems. It does not claim equivalence, endorsement or certification by any of them.
- Where UGP is stricter or looser than a mapped system, Annex D says so.
- A party exporting a derived CTIA vector **shall** label it *derived from UGP v1.0*.

## §16 Device-class profiles

> Device-class profiles in UGP v1.0 (§16): the complete Phone and Tablet profiles, and the profile packs to come for other devices.

Source: https://devicegrading.com/v1.0/spec/profiles

| Profile | v1.0 status | What the profile defines |
|---|---|---|
| **Phone (PHN)** | **Complete** (below) | Zones AA/A/B/C; key and secondary functions; tracked parts; kit components; battery reading method |
| **Tablet (TAB)** | **Complete**: inherits Phone with tolerance × 1.5 ([§5.5](https://devicegrading.com/v1.0/spec/cosmetic#tolerances)); kit adds stylus and keyboard where sold together | — |
| Smartwatch / tracker (WCH, TRK) | **Profile pack to come** | Zone V (back sensor); band condition; key functions (heart rate, pairing); charge-hold test |
| Earbuds (BUD) | **Profile pack to come** | Case + left + right as matched set; per-cell charge-hold; ear-tip kit |
| Laptop / desktop (LAP, DSK) | **Profile pack to come** | Keyboard, trackpad, hinge (MEC), storage health (STO), firmware lock (LCK-03) |
| Console / handheld / controller (CON, CNH, CNX, CTL) | **Profile pack to come** | Stick drift (JOY), disc drive (DSC), service ban (LCK-04), thermal (THM) |
| VR headset / smart glasses (VRH, GLS) | **Profile pack to come** | Lens zone L (AA limits halved, zero S2); IPD, tracking; hinge |

### 16.1 Phone profile (normative) [#phone-profile]

**Zones:**
- **AA**: the display and every camera lens cover
- **A**: the front surface excluding the display, plus the front sensor and fingerprint areas
- **B**: back, sides, buttons, SIM tray, logos, ports area, mesh and visible screws
- **C**: connectors and contacts

See Figure 1.

<ZoneFigure />

**Key functions** (a failure is FK):
- powers on and off;
- display shows an image;
- touch;
- SIM detected (cellular models);
- calls with working earpiece and microphone;
- charges.

**Secondary functions** (a failure is FM or FJ, per Annex A):
- speakers;
- every camera and the flash;
- Face ID / Touch ID / fingerprint;
- buttons and switches;
- proximity, light and motion sensors;
- vibration;
- Wi-Fi, Bluetooth, GPS and NFC;
- wireless charging where fitted;
- headset jack where fitted.

**Display faults:**
- 1–3 dead pixels: DSP-01, minor;
- more than 3 dead pixels, or a dead line: DSP-02, major;
- burn-in visible on a grey screen: DSP-03, major.

**Tracked parts:** battery, display, rear camera(s), front camera, logic board.

**Kit components:** box, charging cable, documentation and SIM tool where originally supplied, plus any other item the manufacturer shipped.

**Battery:** the operating system's health reading (`measured`), a diagnostic tool reading (`measured`), or a declaration (`declared`).

**Photo capture list (V1):**
- front (screen off, then screen on white);
- back;
- each side;
- top and bottom;
- AA at 45°;
- a close-up of every defect at S3 or above;
- the IMEI screen.

## §17 Licence, names and certification

> The CC BY-ND 4.0 licence, free use of the standard, and the policy for the UGP name and badges.

Source: https://devicegrading.com/v1.0/spec/licence

### 17.1 Licence for the text [#licence-text]

© 2026 Device Supply. This document is licensed under the **Creative Commons Attribution-NoDerivatives 4.0 International licence (CC BY-ND 4.0)**, https://creativecommons.org/licenses/by-nd/4.0/.

You **may** copy and redistribute it in any medium or format, for any purpose, including commercially, provided that:
- you credit "Universal Grading Protocol v1.0, © Device Supply";
- you link to the licence;
- you do not distribute modified versions.

Translations count as modified versions. Official translations are published by the steward.

### 17.2 Using the standard needs no licence [#free-use]

Grading devices to UGP, showing UGP grade names, codes and tests, and implementing the core code, schema and grading logic in any product (including commercial products) are free and need no permission. The licence in 17.1 covers copying the document itself.

### 17.3 What the licence does not cover [#what-the-licence-does-not-cover]

CC BY-ND 4.0 does not grant rights in names, logos or badges (licence §2(b)(2)). Their use is governed by 17.5.

### 17.4 No warranty [#no-warranty]

The standard is provided as is. Each grader or seller is responsible for its own records and claims.

### 17.5 Use of the UGP name and badges [#name-and-badges]

(a) "Universal Grading Protocol", "UGP" and "UGP Verified", and the UGP badge artwork, are trademarks of Device Supply. They are used in commerce and are **not registered**.
- Device Supply and others **shall not** use the ® symbol with them. ® is reserved for registered marks, and using it on an unregistered mark would misstate the legal position.
- Device Supply **may** use ™ next to the name where it wants to signal a trademark claim; it is not required. *(Informative: in Canada, rights in an unregistered mark arise from use and are protected through the tort of passing off. ™ simply signals the claim and has no registration requirement.)*

(b) **Anyone** **may**, without asking:
- state "Graded to UGP v[x]", with the conformance level and verification tier, per [§13.3](https://devicegrading.com/v1.0/spec/conformance#claim-format);
- use the published grade names exactly as defined;
- refer to the standard by its name;
- display the steward's published "Graded to UGP" badge next to grades that meet [§13.3](https://devicegrading.com/v1.0/spec/conformance#claim-format).

(c) **Not permitted without the steward's written agreement:**
- using a UGP grade name, or the UGP name, for a different definition;
- publishing a modified version, extension or translation under the UGP name;
- using the name or badge in a way that suggests Device Supply inspected, certified, endorses or is affiliated with a device, business or product, unless it has under (d);
- using "UGP" or "Universal Grading Protocol" in a company, product or domain name.

(d) **"UGP Verified"** and its badge are reserved for:
- devices inspected under the steward's certification programme (V2);
- graders and facilities the steward has approved.

The steward publishes the programme rules and a public registry of approved graders and facilities.

## §18 Governance and versioning

> The steward, MAJOR.MINOR versions, profile packs, deprecation and the change process.

Source: https://devicegrading.com/v1.0/spec/governance

### 18.1 Steward [#steward]

Device Supply maintains the standard, publishes it at its permanent home with every past version, and considers change proposals from anyone. Contributors are credited in Annex G.

### 18.2 Versions [#versions]

**Versions** use MAJOR.MINOR:
- **MAJOR**: changes the meaning of a grade, an axis or the core-code shape. Adopters must re-map.
- **MINOR**: additive or clarifying changes, such as a new profile pack, a new lexicon code, a calibrated tolerance or wording.
- Errata are published as MINOR.

### 18.3 Profile packs [#profile-packs]

**Profile packs** carry their own version and the core version they depend on.

### 18.4 Deprecation [#deprecation]

A MAJOR version remains valid for citation and dispute for at least 12 months after its successor is published.

### 18.5 Change process [#change-process]

Anyone **may** propose a change through the public proposal form at the standard's home. The steward reviews proposals each quarter, publishes every decision with its reasons, and announces each release at least 30 days before it takes effect. Once outside adopters exist, the steward intends to invite an advisory group of repairers and wholesalers.

## §19 Public comment

> The 30-day public comment period: how to comment, what is open and what is settled.

Source: https://devicegrading.com/v1.0/spec/public-comment

### 19.1 Period [#period]

This draft is open for comment for 30 days from its publication date (shown in the Status line).

### 19.2 How to comment [#how-to-comment]

Use the comment form at the standard's home, or e-mail the address published there. Each comment **should** give:
- the section or table cell;
- the proposed change, as text;
- the reason;
- any evidence (inspection data, photos, buyer or return data).

Comments **may** be made publicly or in confidence. Confidential comments are published only in summary, without the commenter's name.

### 19.3 What is especially open [#what-is-especially-open]

- (a) The provisional tolerance counts in [§5.5](https://devicegrading.com/v1.0/spec/cosmetic#tolerances), including the tablet multiplier.
- (b) The arm's-length test wording in [§11.2](https://devicegrading.com/v1.0/spec/status-and-grade#grade).
- (c) The fault lexicon severities in Annex A.
- (d) The charge-hold test parameters in [§8.4](https://devicegrading.com/v1.0/spec/battery#charge-hold-test).
- (e) The priority order of the profile packs in [§16](https://devicegrading.com/v1.0/spec/profiles).

### 19.4 What is settled [#what-is-settled]

These are not reopened except for errors:
- the grade structure (NS, OB, A–D);
- the principle that a grade requires a resale-ready device;
- the separation of grade and status;
- the 80% battery rule.

### 19.5 Disposition [#disposition]

- After the period closes, the steward publishes a table of every comment received (anonymised where asked), its decision and the reason, together with v1.0 final.
- Changes between this draft and the final are marked in the final.
- A grade issued under this draft remains valid. Records **may** be regraded from their stored raw data under the final.

## Annex A Fault lexicon

> Every fault code, its default severity and the profiles it applies to.

Source: https://devicegrading.com/v1.0/spec/fault-lexicon

*Normative, extended per profile.*

| Code | Fault | Default severity | Profiles |
|---|---|---|---|
| DSP-01 | Dead pixels ≤ 3 | minor | displays |
| DSP-02 | Dead pixels > 3, or a dead line | major | displays |
| DSP-03 | Burn-in in the centre area | major | OLED |
| DSP-04 | Touch unresponsive (whole or part) | **key** | touch displays |
| DSP-05 | Backlight dim or uneven | major | displays |
| DSP-06 | Display inoperable | **key** | displays |
| PWR-01 | Will not power on | **key** | all |
| PWR-02 | Does not charge | **key** | battery devices |
| BAT-02 | Battery health \< 80% | service ([§8](https://devicegrading.com/v1.0/spec/battery)) | battery devices |
| CAM-01 | Rear or front camera fails | major | cameras |
| CAM-02 | Flash fails | minor | phones |
| AUD-01 | Earpiece or microphone fails | **key** (phone) / major | audio |
| AUD-02 | Speaker fails | major | audio |
| CON-01 | Wi-Fi, Bluetooth, GPS or NFC fails | major | connected |
| CON-02 | Cellular or SIM detection fails | **key** (phone) | cellular |
| BIO-01 | Face ID, Touch ID or fingerprint fails | major | biometric |
| PRT-01 | Charge or data port fails | major | all |
| BTN-01 | Button or switch fails | major | all |
| SNS-01 | Proximity, light or motion sensor fails | minor | sensors |
| VIB-01 | Vibration fails | minor | phones/watches |
| MEC-01 | Hinge loose or broken | major | laptops, foldables, glasses |
| THM-01 | Overheats, or the fan fails | major | consoles, laptops, VR |
| STO-01 | Storage health \< 70% | major | computers, consoles |
| LNS-01 | Optical lens scratch in the viewing path | major | VR, glasses |
| JOY-01 | Persistent analogue-stick drift | major | controllers, handhelds |
| DSC-01 | Optical drive damages discs | major | disc consoles |
| LCK-01 | Activation or account lock | encumbrance | phones, tablets, wearables, computers |
| LCK-02 | MDM or enrolment | encumbrance | phones, tablets, computers |
| LCK-03 | Firmware or EFI password | encumbrance | computers |
| LCK-04 | Console service ban | encumbrance | consoles |
| LCK-05 | Operator (carrier) locked | disclosed | cellular |
| LCK-06 | Financing hold | encumbrance | cellular |
| IDN-01 | Reported lost or stolen | prohibited | all |
| IDN-02 | IMEI mismatch or tampering | prohibited | cellular |
| DAT-01 | Not sanitised | unsanitized | all |

## Annex B JSON record schema

> The outline of the JSON record schema published at /schema/v1.0/record.json.

Source: https://devicegrading.com/v1.0/spec/record-schema

*Normative outline.*

The schema is published at the permanent home as `/schema/v1.0/record.json` (JSON Schema 2020-12). It contains:
- `ugp_version`, `profile`, `profile_status`, `record_scope`;
- `identity{…, blacklist{status, basis, source, checked_at}}`, where `status` is `clear`, `reported` or `unchecked` and `basis` says how `clear` was reached: `measured` or `evidenced` (a check) or `declared` ([§4.1](https://devicegrading.com/v1.0/spec/record#contents-of-a-record), [§9.3](https://devicegrading.com/v1.0/spec/locks#identity-checks));
- `axes`:
  - `cosmetic{value, basis, zones{AA,A,B,C,…}[defects], mapped_from{scale, value, crosswalk}?}`, with `mapped_from` set only on a supplier-mapped grade ([§13.6](https://devicegrading.com/v1.0/spec/conformance#supplier-mapped))
  - `functional{status, faults[]}`
  - `battery{health_pct, basis, cells[], replaced}`
  - `locks{value, types[]}`
  - `operator{value, carrier}`
  - `data{value, method, technique, tool, certificate_id, standard_rev}`
  - `parts{value, manifest[]}`
  - `kit{value, components[]}`
- `result{status, reasons[], grade, premium, core_code, ctia_derived?}`;
- `audit{grader_id, graded_at, method, verification_tier, conformance, tolerance_table}`.

The grade, status and core code in `result` are derived values and **shall** match the derivation in [§11](https://devicegrading.com/v1.0/spec/status-and-grade)–12.

## Annex C Official names in other languages

> Annex C of UGP v1.0: the official grade names in English and Canadian French, the only list where both languages appear together.

Source: https://devicegrading.com/v1.0/spec/names

| Code | English | Français (Canada) |
|---|---|---|
| NS | New Sealed | Neuf scellé |
| OB | New Open Box · Handset only | Neuf, boîte ouverte · appareil seul |
| A | Like New | Comme neuf |
| B | Very Good | Très bon état |
| C | Good | Bon état |
| D | Acceptable | État acceptable |
| — | Premium | Premium |

French test wording uses "égratignures" or "éraflures" for scratches, and "bosses" for dents. Further languages are published by the steward.

## Annex D Mapping to other systems

> The informative table mapping UGP grades to CTIA v5.1, R2 and marketplace condition names.

Source: https://devicegrading.com/v1.0/spec/mapping-table

<Callout kind="note">**Maps to, not endorsed.** This annex is informative. UGP maps to these systems; it does not claim equivalence, endorsement or certification by any of them ([§15](https://devicegrading.com/v1.0/spec/mapping)).</Callout>

| UGP | CTIA v5.1 cosmetic | CTIA v5.1 primary* | CTIA v5.1 consumer tier | R2 REC | Back Market | Amazon Renewed | Swappa | eBay condition | Google Merchant |
|---|---|---|---|---|---|---|---|---|---|
| NS | outside the cosmetic scale | — | — | unrestricted (unopened) | — | — | New | 1000 New | `new` |
| OB | Appendix B "New" | — | — | C9 (box) / C8 (no box) | — | — | Mint | 1500 New (other) | `used` |
| A (+Premium) | A\*\* | A+ (AA when an RF-shielded test passes) | Tier 2 (Premium → Tier 1) | C6 / F5 | Excellent (Premium → Premium) | Excellent (Premium → Premium) | Mint | 3000 Used (2010 for approved refurbishers) | `used` |
| B | B (L1–L2) | B+ | Tier 3 | C5 / F5 | Good | Good | Good | 3000 (2020) | `used` |
| C | B | B+ | Tier 4 | C4 / F5 | Fair | Acceptable | Fair | 3000 (2030) | `used` |
| D | C, with no cracks\*\*\* | C+ | — (wholesale only) | C3 / F5 | — | — | — | 3000 | `used` |
| no grade (REPAIR, PARTS) | D / E | D, E | — | C1–C2 / F3–F4 | — | — | not allowed | 7000 For parts | — |

\* The primary grade assumes CTIA functional class 1, battery health type 1 and customer and enterprise locks clear, all of which every UGP grade guarantees.
\*\* UGP A allows up to two S1 marks on zone AA. CTIA A allows none, so a UGP A unit can map to CTIA B, and Premium (A0) maps to CTIA A.
\*\*\* **UGP D is never cracked.** CTIA D includes a cracked display cover glass and maps to no UGP grade.

## Annex E Worked examples

> The worked examples and golden files every implementation's derivation reproduces.

Source: https://devicegrading.com/v1.0/spec/worked-examples

*Normative for derivation.*

The examples in [§12.5](https://devicegrading.com/v1.0/spec/core-code#examples), plus a golden-file set published with the schema. Every implementation's derivation **shall** reproduce them.

## Annex F Figures

> Figures 1 to 4: surface zones, defect levels, inspection protocol and grade display.

Source: https://devicegrading.com/v1.0/spec/figures

**Figure 1: Phone surface zones** (`UGP-Fig-Phone-Surface-Zones.svg`). Front and back views with zones AA, A, B and C.

<ZoneFigure />

**Figure 2: Defect-level scale** (`UGP-Fig-Defect-Level-Scale.svg`). Scratch levels S1 to S4 by size and fingernail feel, as in [§5.2](https://devicegrading.com/v1.0/spec/cosmetic#scratch-levels). S4 is beyond S3 in any dimension. The figure shows the levels only; the counts are UGP's own ([§5.5](https://devicegrading.com/v1.0/spec/cosmetic#tolerances)).

**Figure 3: Inspection protocol** (`UGP-Fig-Inspection-Protocol.svg`). The viewing conditions of [§5.4](https://devicegrading.com/v1.0/spec/cosmetic#inspection-protocol). Credit: viewing conditions follow CTIA Certification's Wireless Device Grading Scales v5.1 §2.5, as in [§5.4](https://devicegrading.com/v1.0/spec/cosmetic#inspection-protocol).

**Figure 4: Grade display** (new). The six grades with names, tests and the four-segment meter, plus the Premium designation.

<GradeLadder />

## Annex G Revision history and contributors

> Annex G of UGP v1.0: the revision history of the Universal Grading Protocol, version by version, and the people who contributed to it.

Source: https://devicegrading.com/v1.0/spec/revision-history

| Date | Version | Notes |
|---|---|---|
| Jun 2026 | 0.1 | Standard Framework draft (unpublished) |
| Oct 2026 | 0.3 | Core reconciliation and marketplace draft (unpublished) |
| Oct 2026 | **1.0 (public comment draft)** | **First public draft; 30-day comment period.** Changes from the drafts: renamed Universal Grading Protocol; grades are given only to resale-ready devices (fully functional, crack-free, ≥ 80% battery, unencumbered, sanitised); new cosmetic ladder NS/OB/A–D with plain-language names, tests and fr-CA names; Premium designation; native functional status FF/FM/FJ/FK/FX; status in place of eligibility, with REPAIR and NOT GRADED; basis on every value; operator-lock axis; parts manifest; revised core code; a lost/stolen check or declaration for every grade; supplier-mapped grades, labelled as such; CC BY-ND 4.0 licence and name/badge policy; CTIA wording changed to "maps to". |

**Founding author and steward:** Device Supply. The contributor roster is open.
