{
  "schemaVersion": "1.0",
  "receiptId": "2026-07-26-macos-contacts-framework-v1",
  "testDate": "2026-07-26",
  "title": "Apple Contacts framework vCard parser receipt",
  "scope": "In-memory vCard 3.0 parsing with the macOS Contacts framework; no camera, Contacts app UI, address-book write, sync, mobile-device, cloud-contact, Outlook, or CRM test.",
  "pageUrl": "https://qrcodecrafter.com/vcard#interoperability",
  "fixtureUrl": "https://qrcodecrafter.com/data/vcard-interoperability-v1.vcf",
  "probeSourceUrl": "https://qrcodecrafter.com/data/vcard-apple-contacts-framework-probe-v1.m",
  "publisher": {
    "name": "QR Code Crafter",
    "legalName": "Brand Aspect Ltd",
    "url": "https://qrcodecrafter.com"
  },
  "environment": {
    "operatingSystem": "macOS 26.5.2",
    "build": "25F84",
    "architecture": "arm64",
    "compiler": "Apple clang version 17.0.0 (clang-1700.6.3.2)",
    "parserApi": "CNContactVCardSerialization.contactsWithData:error:"
  },
  "integrity": {
    "fixtureSha256": "29981bd5a91695d1bab0979ecaaf5aed69464315c772459d916d2b43d1865748",
    "probeSourceSha256": "8534ec897c80d6e0479dea7981aabf3322977d8264791f142916937336f3e5ba"
  },
  "result": {
    "status": "passed",
    "contactsParsed": 1,
    "fieldGroupsObserved": 13,
    "addressBookAccess": "not_requested",
    "observation": {
      "contacts": 1,
      "emails": [
        "alex.morgan@example.com"
      ],
      "familyName": "Morgan",
      "givenName": "Alex",
      "jobTitle": "Product Director",
      "organizationName": "Example Studio",
      "phones": [
        "+44 20 7946 0123"
      ],
      "postalAddresses": [
        {
          "city": "London",
          "country": "United Kingdom",
          "postalCode": "SW1A 1AA",
          "state": "Greater London",
          "street": "10 Example Street"
        }
      ],
      "urls": [
        "https://example.com/contact",
        "https://www.linkedin.com/in/alex-morgan",
        "https://www.facebook.com/alex.morgan",
        "https://instagram.com/alex.morgan",
        "https://x.com/alexmorgan",
        "https://bsky.app/profile/alexmorgan.bsky.social",
        "https://www.youtube.com/@alexmorgan"
      ]
    }
  },
  "limitations": [
    "The probe parses a local fixture in memory and never instantiates CNContactStore.",
    "It does not open the Contacts app, scan a QR code with a camera, save a contact, or test synchronization.",
    "It does not test iPhone, Android, Google Contacts, Microsoft Outlook, CRM imports, accessibility, print output, or field display.",
    "A passing parser result is not device, application, operating-system, accessibility, security, or standards certification."
  ]
}
