{
  "schemaVersion": "1.0",
  "releaseId": "2026-07-25-v1",
  "publishedDate": "2026-07-25",
  "updatedDate": "2026-07-25",
  "title": "vCard QR Interoperability Record",
  "scope": "Automated QR payload and vCard parser interoperability; no contact-app or device certification.",
  "pageUrl": "https://qrcodecrafter.com/vcard#interoperability",
  "methodologyUrl": "https://qrcodecrafter.com/data/vcard-interoperability-v1-methodology.md",
  "fixtureUrl": "https://qrcodecrafter.com/data/vcard-interoperability-v1.vcf",
  "publisher": {
    "name": "QR Code Crafter",
    "legalName": "Brand Aspect Ltd",
    "url": "https://qrcodecrafter.com"
  },
  "software": {
    "node": "v26.5.0",
    "qrcode": "1.5.4",
    "jsqr": "1.4.0",
    "sharp": "0.35.3"
  },
  "summary": {
    "qrCases": 2,
    "exactQrDecodes": 2,
    "fieldsTested": 13,
    "fieldsPreserved": 13,
    "importVersionsTested": 3,
    "importVersionsPassed": 3,
    "deviceEnvironmentsTested": 0
  },
  "qrRoundTrips": [
    {
      "id": "png-clean-1024",
      "format": "png",
      "configuredWidth": 1024,
      "exactPayload": true,
      "decodedBytes": 790
    },
    {
      "id": "svg-clean-1024",
      "format": "svg",
      "configuredWidth": 1024,
      "exactPayload": true,
      "decodedBytes": 790
    }
  ],
  "fieldRoundTrips": [
    {
      "id": "name",
      "properties": [
        "FN",
        "N"
      ],
      "expected": "Alex Morgan",
      "observed": "Alex Morgan",
      "pass": true
    },
    {
      "id": "email",
      "properties": [
        "EMAIL"
      ],
      "expected": "alex.morgan@example.com",
      "observed": "alex.morgan@example.com",
      "pass": true
    },
    {
      "id": "phone",
      "properties": [
        "TEL"
      ],
      "expected": "+44 20 7946 0123",
      "observed": "+44 20 7946 0123",
      "pass": true
    },
    {
      "id": "title",
      "properties": [
        "TITLE"
      ],
      "expected": "Product Director",
      "observed": "Product Director",
      "pass": true
    },
    {
      "id": "company",
      "properties": [
        "ORG"
      ],
      "expected": "Example Studio",
      "observed": "Example Studio",
      "pass": true
    },
    {
      "id": "website",
      "properties": [
        "URL"
      ],
      "expected": "https://example.com/contact",
      "observed": "https://example.com/contact",
      "pass": true
    },
    {
      "id": "address",
      "properties": [
        "ADR"
      ],
      "expected": {
        "street": "10 Example Street",
        "city": "London",
        "state": "Greater London",
        "postalCode": "SW1A 1AA",
        "country": "United Kingdom"
      },
      "observed": {
        "street": "10 Example Street",
        "city": "London",
        "state": "Greater London",
        "postalCode": "SW1A 1AA",
        "country": "United Kingdom"
      },
      "pass": true
    },
    {
      "id": "linkedin",
      "properties": [
        "URL;TYPE=Linkedin"
      ],
      "expected": "https://www.linkedin.com/in/alex-morgan",
      "observed": "https://www.linkedin.com/in/alex-morgan",
      "pass": true
    },
    {
      "id": "facebook",
      "properties": [
        "URL;TYPE=Facebook"
      ],
      "expected": "https://www.facebook.com/alex.morgan",
      "observed": "https://www.facebook.com/alex.morgan",
      "pass": true
    },
    {
      "id": "instagram",
      "properties": [
        "URL;TYPE=Instagram"
      ],
      "expected": "https://instagram.com/alex.morgan",
      "observed": "https://instagram.com/alex.morgan",
      "pass": true
    },
    {
      "id": "twitter",
      "properties": [
        "URL;TYPE=Twitter"
      ],
      "expected": "https://x.com/alexmorgan",
      "observed": "https://x.com/alexmorgan",
      "pass": true
    },
    {
      "id": "bluesky",
      "properties": [
        "URL;TYPE=Bluesky"
      ],
      "expected": "https://bsky.app/profile/alexmorgan.bsky.social",
      "observed": "https://bsky.app/profile/alexmorgan.bsky.social",
      "pass": true
    },
    {
      "id": "youtube",
      "properties": [
        "URL;TYPE=Youtube"
      ],
      "expected": "https://www.youtube.com/@alexmorgan",
      "observed": "https://www.youtube.com/@alexmorgan",
      "pass": true
    }
  ],
  "importVersionFixtures": [
    {
      "id": "vcard-2-1-quoted-printable",
      "version": "2.1",
      "expected": {
        "name": "André Martin",
        "email": "andre@example.com",
        "phone": "+33123456789"
      },
      "observed": {
        "name": "André Martin",
        "email": "andre@example.com",
        "phone": "+33123456789"
      },
      "pass": true
    },
    {
      "id": "vcard-3-0-work-fields",
      "version": "3.0",
      "expected": {
        "name": "Sam Patel",
        "email": "sam.patel@example.com",
        "phone": "+44 20 7946 0999",
        "company": "Example Research",
        "title": "Research Lead"
      },
      "observed": {
        "name": "Sam Patel",
        "email": "sam.patel@example.com",
        "phone": "+44 20 7946 0999",
        "company": "Example Research",
        "title": "Research Lead"
      },
      "pass": true
    },
    {
      "id": "vcard-4-0-uri-and-folding",
      "version": "4.0",
      "expected": {
        "name": "Taylor Chen",
        "email": "taylor.chen@example.com",
        "phone": "+14155550199",
        "website": "https://example.com/a-very-long-profile"
      },
      "observed": {
        "name": "Taylor Chen",
        "email": "taylor.chen@example.com",
        "phone": "+14155550199",
        "website": "https://example.com/a-very-long-profile"
      },
      "pass": true
    }
  ],
  "deviceValidation": [
    {
      "environment": "iPhone camera and Contacts",
      "status": "not_tested"
    },
    {
      "environment": "Android camera and contacts app",
      "status": "not_tested"
    },
    {
      "environment": "Apple Contacts on macOS",
      "status": "not_tested"
    },
    {
      "environment": "Google Contacts",
      "status": "not_tested"
    },
    {
      "environment": "Microsoft Outlook",
      "status": "not_tested"
    }
  ],
  "corrections": {
    "email": "contact@qrcodecrafter.com"
  }
}
