Credit Card Number
Type Registry
Credit Card Number
identity.payment.credit_card_number Credit card or debit card primary account number (PAN). Typically 13-19 digits. Last digit is check digit (Luhn algorithm). HIGHLY SENSITIVE — encrypt immediately in production.
Domain identity›payment
Casts to VARCHAR
Scope Universal
Try it
CLI
$ finetype infer -i "4532015112830366"
→ identity.payment.credit_card_number DuckDB
Detect
SELECT finetype('4532015112830366');
-- → 'identity.payment.credit_card_number' Cast expression
CAST({col} AS VARCHAR) Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'identity.payment.credit_card_number'; Struct Expansion
card_type: CASE WHEN {col} LIKE '4%' THEN 'Visa' WHEN {col} LIKE '5[1-5]%' THEN 'Mastercard' WHEN {col} LIKE '3[47]%' THEN 'Amex' ELSE 'Other' END
issuer_identification_number: REGEXP_EXTRACT({col}, '^([0-9]{6})')
last_four: REGEXP_EXTRACT({col}, '([0-9]{4})$') JSON Schema
finetype schema identity.payment.credit_card_number {
"$id": "https://noon.sh/schemas/identity.payment.credit_card_number",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Credit card or debit card primary account number (PAN). Typically 13-19 digits. Last digit is check digit (Luhn algorithm). HIGHLY SENSITIVE — encrypt immediately in production.",
"examples": [
"4532015112830366",
"5425233010103442",
"374245455400126"
],
"pattern": "^[0-9]{13,19}$",
"title": "Credit Card Number",
"type": "string"
} Examples
45320151128303665425233010103442374245455400126 Also known as
pancredit_card