Data taxonomy, data model and data dictionary for GPG 45
Published 3 March 2026
Introduction
This specification describes the data taxonomy, data model and data dictionary for the ‘How to check someone’s identity’ guidance, also known as Good Practice Guide (GPG) 45, a supporting document for the UK digital verification services trust framework (‘the DVS trust framework’, also referred to in this document where a single string of text is needed as ‘uk_dvstf’).
The data taxonomy provides a description of the hierarchy and classification of data for GPG 45.
The data model provides a description of the data element name, any relevant sub elements or the data type.
The data dictionary is a collection of names, definitions, and lists (enumerations) relating to GPG 45 and the DVS trust framework.
Data taxonomy
This section describes the data taxonomy for GPG 45.
This taxonomy provides a standardised terminology for describing GPG 45 data, setting out the types of data and elements it covers and defining the names of the data elements.
The GPG 45 taxonomy includes titles and descriptions for the following areas:
- Identity claims
- Assurance processes
- Identity checking processes
- Identity evidence
Identity claims
A claimed identity is a combination of information (often a name, date of birth and address) that represents some of the key attributes of whoever a person is claiming to be.
Description:
- Given name(s): Individual’s given name(s)
- Family name(s): Individual’s family / surname name(s)
- Address: Individual’s address
- Date of birth: Individual’s birth date
- Nationalities: One or more countries of citizenship
- Biometric information: Measurements of a biological or behavioural attribute, like an iris or fingerprint
Assurance processes
Assurance processes describe the assurance framework, policies and rules that govern the identity checking process described in GPG 45.
Description:
- Trust framework: The assurance framework relevant to the claim. For the UK, this is the DVS trust framework and any applicable supplementary codes
- Assurance policy: Indicates the policy and/or procedure used to prove the user’s claim to the identity. For the DVS trust framework this is always GPG 45
- Assurance level: In GPG 45 terms this indicates level of confidence
- Assurance procedure: This describes confidence levels in more detail, for the DVS trust framework this is always a GPG 45 profile
Identity checking processes
These processes are represented in the data model within the verification outcomes, alongside evidence details.
Description:
- Identity evidence: the evidence provided in order to prove the existence of the identity
- Validation method: a description of the checking process used to validate that evidence is authentic
- Verification method: a description of the checking process used to verify that the user is the legitimate owner of the identity
GPG 45 Data model
The data model provides a description of the data element name, the relevant sub-elements and the data type.
Verified claims
This is made up from two pieces of data, the identity the person is claiming to be (‘claims’), and the information about the checks that have been done to prove the identity exists and belongs to them (‘verification’)
Claims
This is the identity information that represents the person making the claim. This can include:
- their given name
- their family name
- whether the names have been transliteration from their original language
- their date of birth
- their nationalities
- their biometric information
- their address
- their age
- whether they are over a specific age
- whether they are under a specific age
These are represented like this:
claims:
given_name: string
family_name: string
transliteration_status: object (transliteration_status)
biometric_information: array (biometric_information)
birthdate: date
nationalities: array (nationality)
address: object (address)
age: number
is_under: number
is_over: number
Transliteration status
Transliteration is the process of converting text from one writing system or language into another by focusing on how words sound. It tries to the reflect the pronunciation of the original word using similar sounds in the target language so that speakers of either language can recognise the word. It is not the same as translation which focuses and converting the meaning of a word, for example 東京 translates to ‘eastern capital’ but is more commonly known in English in its transliterated form, Tokyo.
The transliteration status conveys information about the:
- original language the text was written in
- language the text has been transliterated to
- the way the transliteration was done
transliteration_status:
original_language: language
transliterated_language: language
transliteration_type: transliteration_type
Biometric information
The biometric information represents one or more biometric characteristics about the person making the claim. The biometric information can contain any type of biometric modality and be encoded using several different methods and standards. Biometric data can include the:
- biometric characteristic (‘modality’) that is being exchanged
- the biometric data (‘attachments’)
Address
This contains a physical address, it can include the:
- street address
- town or city (‘locality’)
- post code
- country
- whether the address has been transliteration from the original language
address:
street_address: string
locality: string
postal_code: string
country: string
transliteration_status: object (transliteration_status)
Verification
This is the information about how the claims have been proven and linked to the person it includes:
- a way to identify the assurance framework (‘trust framework’) relevant to the claim, for the DVS trust framework this is always ‘uk_dvstf’
- information about the certified service’s entry in the DVS register
- the evidence that was used to prove the claim
- the assurance level achieved in the claim being true, for the DVS trust framework this is always a GPG 45 level of confidence
- the processes that were performed in order to prove the claim
verification:
trust_framework: ‘uk_dvstf’
dvs_registration: object (dvs_registration)
evidence: array (evidence)
assurance_level: assurance_level
assurance_process: object (assurance_process)
DVS registration
The DVS registration information identifies which certified service was used to prove the claim. It contains:
- the name of the certified service
- an identifier that uniquely identifies the service in the DVS register
dvs_registration:
registered_name: string
registration_id: string
Evidence
This describes the evidence that was used by the service to prove the claim to the identity by the person. This includes the:
- details of the documents, electronic records or vouches that were used for the verification
evidence:
document: object (document)
electronic_record: object (electronic_record)
vouch: object (vouch)
Document
This describes how a document was used by the service to prove the claim. This can include:
- details about the document
- a copy of the document (‘attachments’)
- details about the checks that were done to validate the document
- details about the checks that were done to verify the person matches the identity in the document
document:
type: ‘document’
document_details: object (document_details)
attachments: array (attachment)
check_details: object (check_details)
Document details
This describes the document that was used by the service to prove the claim. This can include:
- the type of document
- a document reference or identification number that uniquely identifies a document that was issued
- a reference or identification number that uniquely identifies the person that is independent of a specific issued document
- a serial number that identifies the document irrespective of any personalisation information (this is usually only present on physical materials and not part of the personalisation of the document)
- the date of issue
- the date of expiry
- details about the issuer of the document
- whether the information about the document has been transliteration from the original language
document_details:
type: document_type
document_number: string
serial_number: string
personal_number: string
date_of_issuance: date
date_of_expiry: date
issuer: authority
transliteration_status: object (transliteration_status)
Electronic record
This describes an electronic record that was used by the service to prove the claim. This can include:
- details about the electronic record
- a copy of the electronic record (‘attachments’)
- details about the checks that were done for the electronic record
- details about the checks that were done to verify the person matches the identity in the electronic record
electronic_record:
type: ‘electronic_record’
record: object (record)
attachments: array (attachment)
check_details: object (check_details)
Record
This describes a record that was used by the service to prove the claim. This can include:
- the type of record
- a reference number that uniquely identifies the record
- the time the record was created
- the date the record will expire
- details about the source of the record
- whether the information about the record has been transliteration from the original language
record:
type: record_type
reference_number: string
created_at: timestamp
date_of_expiry: timestamp
source: object (authority)
transliteration_status: object (transliteration_status)
Vouch
This contains the information about a vouch that was used by the service to prove the claim. This can include:
- details about the vouch (‘attestation’) itself
- electronic version or copy of the vouch (‘attachments’)
- details about the checks that were done to validate the vouch
- details about the checks that were done to verify the person matches the identity in the vouch
vouch:
type: ‘vouch’
attestation: object (attestation)
attachments: array (attachment)
check_details: object (check_details)
Attestation
This contains the information about a vouch that was used by the service to prove the claim. This can include:
- a reference number that uniquely identifies the vouch
- the date the vouch was issued
- the date the evidence will expire
- details about the person that is providing the vouch
- whether the information about the attestation has been transliteration from the original language
attestation:
type: ‘vouch’
reference_number: string
date_of_issuance: date
date_of_expiry: date
voucher: object (voucher)
transliteration_status: object (transliteration_status)
Authority
This identifies an authority that is able to issue or create evidence. This can include the:
- name of the authority
- address of the authority
- identifying code of the country or supranational organisation where the authority is based
- region(s)/state(s)/province(s)/municipality(ies) within the country where authority has jurisdiction to issue or create evidence
Voucher
This identifies the person that vouched for the person’s claim to the identity. This can include the:
- name of the person providing the vouch
- date of birth of the person providing the vouch
- address of the person providing the vouch
- identifying code of the country or supranational organisation where the voucher is based
- occupation of the person providing the vouch
- name of the organisation that the voucher is representing
voucher:
name: string
birthdate: date
address: address
country_code: country_code
occupation: string
organisation: object (authority)
Check details
This contains the information about the checks that were performed. This can include:
- an identifier that describes what processes were followed to perform the check (‘check method’), this can either be the process that was followed to validate the evidence, or verify the person’s claim to the identity
- a unique reference number representing the check that was performed
- the time when the check was performed
- the name of the organisation that performed the check if the service did not perform the check itself
The check_id is a method to link the check performed with the evidence with the requirements of the trust framework, if this is present there should be a matching entry in evidence_ref that demonstrates how it fits into the overall proofing and verification process required by the trust framework.
Attachment
This provides the ability to exchange image or other binary data that may be needed, including scans of documents, photographs, video recordings, certificates, as well as other electronic data such as digital or verifiable credentials. This includes:
- a description of the attachment
- the type of data that has been encoded in the attachment
- the format of the encoding
- the encoded attachment data
Assurance process
This contains detailed information about:
- the standard or policy that was followed in order to verify the claim (‘policy’), for the DVS trust framework this is always GPG 45
- the specific procedure from the policy was followed (‘procedure’), for the DVS trust framework this is always a GPG 45 profile
- how the details on which assurance processes were followed and how they meet the DVS trust framework
assurance_process:
policy: ‘gpg45’
procedure: procedure
assurance_details: array (assurance_details)
Assurance details
This contains information about the checks and processes that were performed to support the claim to the identity by the person. This includes:
- the type of check performed, for example validation, verification, counter fraud
- how the assurance process is classified in the trust framework, for the DVS trust framework this is always a score given by one of the steps in the proofing and verification process
- the evidence used to get the assurance in the claims and the person
assurance_details:
assurance_type: assurance_type
assurance_classification: assurance_classification
evidence_ref: array (evidence_references)
Evidence references
This contains:
- a unique reference number representing the check that was performed with the evidence
- other data about the checks or evidence that is required by the assurance process in order to demonstrate compliance with the trust_framework
The check_id is a method to link the checks performed with the evidence to the assurance processes, if check_id is present there must be a matching check_id in a check_details object
Evidence metadata
This contains:
- information on how the process used in check_details demonstrates compliance with the assurance_type. This is additional information that may be needed in order to fully explain how the evidence was used in the assurance process.
evidence_metadata:
evidence_classification: evidence_classification
GPG 45 data dictionary
To make sure there is consistency in how the data about identity proofing and verification is exchanged some of the elements must have a set format and use shared terms. The following section defines both allowed values and formats for a number of the elements in the GPG 45 data model.
Data definitions
Some elements of this data model must have defined structure so that they are constructed and understood by all participants in the DVS trust framework.
Country code
Country codes should be 3-letter codes following ISO 3166-1 or ICAO Doc 9303. Other 2-letter and single codes may be used in some circumstances for compatibility reasons, for example Germany often uses ‘D’ as its issuer country code.
country_code: string
Date
Dates must always be in ISO 8601 ‘YYYY-MM-DD’ format
date: string
Encoding
This describes the type of encoding used for the corresponding data. This should use media types as defined by IANA, or interchange formats defined by ISO/IEC 19794-5, ISO/IEC 39794-5, ANSI/NIST-ITL, or ISO/IEC 18013
encoding: string
Language
Language codes must follow ISO 639-1 or RFC 5646
language: string
Nationality
Nationality should use 3-letter codes following ISO 3166-1 or ICAO Doc 9303. Other 2-letter and single codes may be used in some circumstances for compatibility reasons.
nationality: string
Timestamp
Time stamps must always be in ISO 8601 ‘YYYY-MM-DDThh:mm(:ss)TZD’ format
date: string
Predefined values
The table below defines the meaning of the terms used in this data model.
| Predefined value | Definition |
|---|---|
| activity_history | Activity history check according to GPG 45 |
| adoption_certificate | A document relating to the adoption of a person |
| adoption_register | A record relating to the adoption of a person |
| auth | Verifying the user is the owner of the claims by use of an electronic authentication process that is linked to the owner of the claims |
| bank_account | A financial account maintained by a bank |
| bank_statement | A summary of bank transactions over a given period |
| base64 | This is a standard binary-to-text encoding system that uses printable characters to represent a sequence of bytes |
| birth_certificate | A document relating to the birth of a person |
| birth_register | A record relating to the birth of a person |
| building_society_account | A financial account maintained by a building society |
| bus_pass | An older or disabled person’s bus pass |
| bvp | Biometric verification by an automated system with the user physically present to the system and the verifier, the use of a biometric modality (such as face) to match the user with a known template of the owner of the claims |
| bvr | Biometric verification by an automated system where the user and capture device is remote to the verifier, the use of a biometric modality (such as face) to match the user with a known template of the owner of the claims |
| byte_data | Data that is made up of bytes as defined by ISO/IEC 2382-1 |
| civil_partnership_register | A record relating to the civil partnership of a person |
| counter_fraud | Counter fraud check was performed |
| credit_account | A specific type of financial account maintained by a bank or other financial institution where it offers the customer credit |
| credit_union_account | A financial account maintained by a credit union |
| current_account | A specific type of financial account maintained by a bank or other financial institution used for day to day money exchange |
| data | Found an existing electronic record that matches the claims made by the user |
| driving_permit | A permit / licence required to operate a motor vehicle on public roads |
| education_certificate | Certificate of completing education / course |
| education_record | A record from an educational institution |
| firearm_certificate | A certificate required in order to own a firearm |
| freedom_pass | A pass that provides free public transport for older or disabled people in London and local buses in England |
| home_office_travel_document | An international travel document issued by the Home Office to someone who not a British Citizen and is unable to obtain a national passport from their country |
| icao | Transliteration has been done following ICAO Doc 9303 standard |
| id_card | An identity card issued by a recognised country |
| kbv | Verifying the user is the owner of the claims by knowledge based challenges/questions that only the owner of the claims should know how to answer. |
| loan_account | A specific type of financial account maintained by a bank or other financial institution relating to sums borrowed by the customer |
| loan_statement | A summary of loan transactions over a given period |
| manual | Transliteration has been done manually and is not likely to follow a defined standard |
| marriage_register | A record relating to the marriage of a person |
| military_id | Active service personnel ID card |
| military_record | Records about service personnel held by an organisation responsible for the armed forces |
| mortgage_account | A loan used to purchase or maintain a property |
| mortgage_statement | A summary of mortgage transactions over a given period |
| pass_card | Proof of age card issued under the rules of PASS |
| passport | An ICAO compliant passport issued by a recognised country |
| passport_card | An ICAO compliant passport card issued by a recognised country |
| pilot_permit | A permit / licence required to operate an aircraft |
| population_register | A record relating to a person being resident or a citizen in a given jurisdiction |
| prison_record | Records about an inmate held by an organisation responsible for managing prisons |
| proof_of_age_id | ID predominately used as a proof of age |
| purchase_agreement | Contract between a buyer and a seller that defines the terms and conditions of a purchase |
| pvp | Physical verification in person by a qualified/authorised person, the comparison of a physical characteristic (such as face) of the user with a known image/template of the owner of the claims |
| pvr | Physical verification by a qualified/authorised person when the user is remote, the comparison of a physical characteristic (such as face) from an image or video of the user with a known image/template of the owner of the claims. |
| rental_agreement | Contractual agreement relating to renting a property |
| social_security_record | Records held by an organisation responsible for managing social security registration or payments |
| social_security_statement | A summary social security awards or transactions over a given period |
| student_loan_account | A record of a student loan |
| tax_record | Records about a person held by an organisation responsible for managing tax registration or payments |
| tax_statement | A summary of tax liabilities and transactions over a given period |
| token | Verifying the user is the owner of the claims by use of an electronic authentication token such as hardware token or smartcard that is linked and issued to the owner of the claims |
| unknown_transliteration | Transliteration status or method is not known |
| utility_account | A record relating to a utility |
| utility_statement | A summary of utility usage over a given period |
| validation | Validating the authenticity of evidence according to GPG 45 |
| vcrypt | Validation the cryptographic security features of the evidence are intact and correct |
| vdig | Validation that digital/electronic evidence is genuine by the inspection of its properties and content |
| verification | Verifying the person is the owner of the identity in accordance with GPG 45 |
| veterans_card | Armed Forces Veteran Card |
| visa | A type of legal document issued by a country to a foreign citizen that allows them to enter, stay, work or travel within the country |
| voter_id | Photographic identity card used for voting at polling stations |
| voter_register | A record relating to a person’s right to vote |
| vpip | Validation that physical evidence is genuine through inspection of its physical properties in person |
| vpiruv | Validation that physical evidence is genuine through inspection of its physical properties in person including its optical characteristics under non-visible light |
| vri | Validation that physical evidence is genuine through the inspection of an image taken remotely under visible light |
Predefined lists
Some elements in this data model are only allowed to have certain predefined values, these restrictions are:
| Element | Type | Predefined values | Notes |
|---|---|---|---|
| assurance_classification | string | score_1, score_2, score_3, score_4 | Scores taken from GPG 45 |
| assurance_level | string | low, medium, high, very_high | Confidence levels from GPG 45 |
| assurance_type | string | validation, verification, counter_fraud, activity_history | |
| biometric_modality | string | face, fingerprint, voice, iris | |
| check_method | string | auth, token, kbv, pvp, pvr, bvp, bvr, vpip, vpiruv, vri, vdig, vcrypt, data | |
| document_type | string | passport, id_card, passport_card, driving_permit, military_id, veterans_card, proof_of_age_id, home_office_travel_document, bus_pass,education_certificate, rental_agreement, purchase_agreement, pass_card, freedom_pass, voter_id, bank_statement, utility_statement, mortgage_statement, loan_statement, tax_statement, social_security_statement, pilot_permit, birth_certificate, adoption_certificate, marriage_certificate, civil_partnership_certificate, firearm_certificate | |
| encoding_format | string | base64, byte_data | |
| evidence_classification | string | low_kbv, medium_kbv, high_kbv, id_fraud, mortality_check | |
| procedure | string | L1A, L1B, L1C, L2A, L2B, L3A, M1A, M1B, M1C, M1D, M2A, M2B, M2C, M3A, H1A, H1B, H1C, H2A, H2B, H2C, H2D, H2E, H3A, V1A, V1B, V1C, V1D, V2A, V2B, V2C, V2D, V3A | Identity profiles from GPG 45 |
| record_type | string | social_security_record, bank_account, building_society_account, credit_union_account, current_account, student_loan_account, credit_account, mortgage_account, loan_account, birth_register, population_register, voter_register, adoption_register, marriage_register, civil_partnership_register, education_record, utility_account, military_record, tax_record, prison_record, death_register, fraud_register | |
| transliteration_type | string | manual, icao, unknown_transliteration |