Skip to main content

Data types

Discover the data types supported by Vault

Vault provides for standard, personal information, financial information, and identifier semantic data types.

Standard types

NameDescriptionValidation
STRINGA string.A string of up to 64 characters.
JSONA JSON string.A valid JSON format. For example, {"first_name":"John", "last_name":"Doe"}.
INTEGERAn integer.A 64-bit signed integer. For example, 1 or 1000.
BOOLEANA boolean value.true or false.
DOUBLEA floating-point number.A 64-bit floating-point number. For example, 8.5 or 30.850.
LONG_TEXTA long string.Any string.

Personal information types

NameDescriptionValidation
EMAILA string containing an email address.A string of up to 320 characters, complying with 'emailRegexString' at go-playground validator For example, john@mail.com.
URLA string containing a URL.An absolute URL or path-absolute relative URL. For example, https://piiano.com/.
PHONE_NUMBERA string containing a phone number.A string of up to 15 digits in E.164 format, a leading '+' and hyphens '-' anywhere allowed. For example, +1-415-5552671.
ZIP_CODE_USA US zip code.A US zip code complying with ISO 3166-2:US, regular expression ^\d{5}([ \-]\d{4})?$. For example, 42088-4542.
TIMESTAMPA string containing a date and time.A date time in one of these formats:
- RFC3339, 2006-01-02T15:04:05Z07:00
- RFC3339Nano, 2006-01-02T15:04:05.999999999Z07:00
- UnixDate, Mon Jan _2 15:04:05 MST 2006
- ANSIC, Mon Jan _2 15:04:05 2006
- RFC822, 02 Jan 06 15:04 MST
- RFC822 with numeric zone, 02 Jan 06 15:04 -0700
- RFC850, Monday, 02-Jan-06 15:04:05 MST
- RFC1123, Mon, 02 Jan 2006 15:04:05 MST
- RFC1123 with numeric zone, Mon, 02 Jan 2006 15:04:05 -0700.
DATEA string containing a date.A date in ISO-8601 format, "YYYY-MM-DD". For example, 2006-01-02.
DATE_OF_BIRTHA string containing a date of birth.A date in ISO-8601 format, "YYYY-MM-DD". For example, 2006-01-02.
NAMEA string containing a name.A string of up to 64 characters. For example, John, Doe, or John Doe.
GENDERA string containing a gender.A string of up to 64 characters. For example, female.
SSNA string containing a US Social Security Number.A string complying with 'sSNRegexString' at go-playground validator For example, 444-21-4300.
ADDRESSA string containing an address.Any string. For example, 132 My Street, Kingston, New York.

Financial information types

NameDescriptionValidation
BANA string containing a bank account number.A string complying with the regular expression ^[0-9]{5,17}$ For example, 123451234.
CC_HOLDER_NAMEA string containing a credit card holder name.A string of up to 64 characters. For example, John Doe.
CC_NUMBERA string containing a credit card number.A string of 13 to 19 digits (0-9) plus spaces and dashes ("-") complying with the Luhn algorithm. Spaces and dashes are removed for storage. For example, 5189-9379-3020-4081.
CC_EXPIRATION_STRINGA string containing the credit card expiration month and year in the format MM/YYYY.A string where the month is in the range of 1 to 12 and the year is a two-digit or four-digit number (including leading zeroes). For example, 08/23.
CC_CVVA string containing a credit card verification value.A string of 3 or 4 digits (0-9). For example, 899 or 1234.
US_BANK_ROUTINGA string containing a US bank routing number.A string complying with the regular expression ^(([0-9]{9})|([0-9]{4}/[0-9]{4})|(([0-9]{2})-([0-9]{4})/([0-9]{4})))$. See RoutingNumber.com and How to Arrange & Check a Fractional Routing Number for more information on US Bank routing numbers. For example, 101000188.
US_BANK_ACCOUNT_NUMBERA string containing a US bank account number.A string of up to 64 characters. For example, 1010055.

Identifier types

NameDescriptionValidation
OBJECT_IDA unique read-only ID of an object generated by Vault.A string of up to 64 characters.
TENANT_IDAn ID of a tenant.A string of up to 64 characters.
FOREIGN_IDAn ID that you use to identify the object in your application.A string of up to 64 characters.

(Coming soon 🎁) Vault semantic data types will:

  1. Composite the type NAME to contain name.first and name.last as a single unified property.
  2. Support Binary blobs: arbitrary opaque data of unlimited size.
  3. Support Files: arbitrary file types such as documents and images.

See the Vault roadmap for more information.