{
  "schema": "https://gcagochina.com/domain-email.json",
  "pageUrl": "https://gcagochina.com/domain-email.html",
  "lastUpdated": "2026-05-30",
  "status": "domain-email-active",
  "projectName": "GCA",
  "domain": "gcagochina.com",
  "currentPublicEmail": "support@gcagochina.com",
  "targetDomainEmail": "support@gcagochina.com",
  "targetAliases": [
    "team@gcagochina.com",
    "security@gcagochina.com"
  ],
  "baseScanUse": {
    "currentBlocker": "No domain-email blocker remains in the local readiness packet. support@gcagochina.com is active, public DNS records pass MX/SPF/DKIM/DMARC checks, inbound and outbound tests are archived privately, and public support/BaseScan materials publish the same domain email.",
    "resubmissionReady": true,
    "readyWhen": [
      "support@gcagochina.com can receive external email",
      "support@gcagochina.com can send authenticated external email",
      "MX, SPF, DKIM, and DMARC DNS checks pass for gcagochina.com",
      "public website pages show the same domain email used in the BaseScan request",
      "tools/check_domain_email_public_switch.py --json --require-switched passes",
      "BaseScan resubmission includes https://gcagochina.com/tim-chen.html"
    ]
  },
  "liveDnsSnapshot": {
    "checkedAt": "2026-05-30T16:24:34Z",
    "tool": "tools/check_domain_email_dns.py",
    "command": "python3 tools/check_domain_email_dns.py --domain gcagochina.com --mailbox support --dkim-selector zmail --json",
    "readyForBaseScanEmailEvidence": true,
    "missingOrBlockedChecks": [],
    "checks": {
      "mx": "present",
      "spf": "present",
      "dmarc": "present",
      "dkim": "present"
    },
    "dkimSelector": "zmail",
    "provider": "Zoho Mail",
    "nextAction": "Use support@gcagochina.com for one clean BaseScan token-profile resubmission and keep the private provider, DNS, inbound, outbound, and support-page evidence archived locally."
  },
  "ownerActionPacket": {
    "status": "evidence-collected-ready-for-owner-resubmission",
    "purpose": "Record the completed owner-side domain email evidence path for the next BaseScan resubmission without publishing private mailbox screenshots.",
    "stepsInOrder": [
      "support@gcagochina.com is enabled as a full hosted mailbox alias in Zoho Mail.",
      "Provider active proof, DNS lookup proof, inbound test proof, outbound test proof, and support-page proof are saved privately under launch/domain_email_evidence/.",
      "MX, SPF, DKIM, and DMARC records are present in public DNS for gcagochina.com.",
      "Public support/BaseScan materials publish support@gcagochina.com.",
      "Run tools/check_basescan_resubmission_readiness.py --json --require-ready before copying the final package into BaseScan."
    ],
    "requiredEvidenceFiles": [
      "domain-email-provider-active.png",
      "domain-email-dns-mx-spf-dkim-dmarc.txt",
      "domain-email-inbound-test.png",
      "domain-email-outbound-test.png",
      "support-page-domain-email.png"
    ],
    "operatorCommands": [
      "python3 tools/build_domain_email_provider_matrix.py --markdown",
      "python3 tools/build_domain_email_dns_entry_packet.py --provider <provider-name> --mx \"10 <provider-mx>\" --spf \"v=spf1 include:<provider> ~all\" --dkim-selector <provider-selector> --dkim-type TXT --dkim-value \"<provider-dkim-value>\" --dmarc \"v=DMARC1; p=none;\" --output-json launch/domain_email_dns_entry_packet.json --output-md launch/domain_email_dns_entry_packet.md",
      "python3 tools/check_domain_email_dns.py --domain gcagochina.com --mailbox support --dkim-selector <provider-selector> --json",
      "python3 tools/build_domain_email_evidence_packet.py --dkim-selector <provider-selector> --evidence-dir launch/domain_email_evidence --website-email-updated --output-json launch/domain_email_evidence_packet.json --output-md launch/domain_email_evidence_packet.md",
      "python3 tools/check_domain_email_public_switch.py --json --require-switched",
      "python3 tools/check_basescan_resubmission_readiness.py --json --require-ready"
    ],
    "stopConditions": [
      "Any required evidence file is missing from the private local evidence directory.",
      "DNS check no longer reports readyForBaseScanEmailEvidence true.",
      "Outbound visible sender is not support@gcagochina.com.",
      "Public support/BaseScan files still publish the previous public email after the switch.",
      "BaseScan resubmission preflight fails or reports readyForBaseScanResubmission false."
    ],
    "readyToResubmitWhen": [
      "support@gcagochina.com receives external mail",
      "support@gcagochina.com sends authenticated external mail",
      "MX, SPF, DMARC, and DKIM checks pass",
      "public support/BaseScan files publish the same domain email",
      "domain email evidence packet is complete",
      "BaseScan resubmission preflight reports readyForBaseScanResubmission true"
    ],
    "boundaries": [
      "does not buy email service",
      "does not write DNS records",
      "does not send email",
      "does not submit BaseScan request",
      "does not touch wallets or contracts",
      "does not store secrets"
    ]
  },
  "dnsChecklist": [
    "Add provider MX records for gcagochina.com",
    "Add or merge SPF TXT record for the chosen mail provider",
    "Add DKIM TXT or CNAME records from the provider dashboard",
    "Add DMARC TXT record at _dmarc.gcagochina.com, starting in monitoring mode if needed",
    "Wait for DNS propagation and provider verification"
  ],
  "mailProviderDecision": {
    "requirement": "Use a full hosted mailbox or mail service that can receive external mail and send authenticated outbound mail as support@gcagochina.com.",
    "notEnoughByItself": "Receive-only forwarding, including Cloudflare Email Routing by itself, is not enough for the next clean BaseScan resubmission because it does not prove outbound sender alignment.",
    "acceptablePaths": [
      "Google Workspace if MX, SPF, DKIM, and DMARC records are configured and outbound replies show support@gcagochina.com",
      "Microsoft 365 if the custom domain and required mail DNS records are configured and outbound replies show support@gcagochina.com",
      "Zoho Mail if the custom domain, MX, SPF, DKIM, and DMARC records are configured and outbound replies show support@gcagochina.com",
      "Another hosted mailbox provider if it satisfies the same inbound, outbound, SPF, DKIM, and DMARC evidence gates"
    ],
    "decisionRule": "Pick the lowest-cost provider that gives a real mailbox UI or authenticated SMTP/API sending path for support@gcagochina.com; do not update public support or BaseScan values until inbound and outbound tests pass.",
    "referenceDocs": [
      "https://developers.cloudflare.com/email-routing/get-started/",
      "https://support.google.com/a/answer/9222085",
      "https://learn.microsoft.com/en-us/microsoft-365/admin/setup/add-domain?view=o365-worldwide",
      "https://www.zoho.com/mail/help/adminconsole/add-domains.html"
    ]
  },
  "operatorProviderMatrixBuilder": {
    "tool": "tools/build_domain_email_provider_matrix.py",
    "command": "python3 tools/build_domain_email_provider_matrix.py --markdown",
    "ownerArtifactCommand": "python3 tools/build_domain_email_provider_matrix.py --output-json launch/domain_email_provider_matrix.json --output-md launch/domain_email_provider_matrix.md",
    "purpose": "Compare full-mailbox paths against receive-only or send-only options before buying an email plan, without fetching live prices or guessing DNS records.",
    "recommendedFirstCheck": "Zoho Mail or an equivalent low-cost hosted mailbox, only if it creates support@gcagochina.com and provides MX, SPF, DKIM, and DMARC setup.",
    "notEnoughAlone": [
      "Cloudflare Email Routing only",
      "send-only SMTP/API without inbound mail for support@gcagochina.com"
    ],
    "runBefore": [
      "mail provider purchase",
      "DNS record entry",
      "domain email evidence packet",
      "BaseScan resubmission preflight"
    ],
    "boundaries": [
      "does not fetch live prices",
      "does not write DNS records",
      "does not send email",
      "does not submit BaseScan request",
      "does not touch wallets or contracts"
    ]
  },
  "operatorDnsEntryPacketBuilder": {
    "tool": "tools/build_domain_email_dns_entry_packet.py",
    "commandTemplate": "python3 tools/build_domain_email_dns_entry_packet.py --provider <provider-name> --mx \"10 <provider-mx>\" --spf \"v=spf1 include:<provider> ~all\" --dkim-selector <provider-selector> --dkim-type TXT --dkim-value \"<provider-dkim-value>\" --dmarc \"v=DMARC1; p=none;\" --output-json launch/domain_email_dns_entry_packet.json --output-md launch/domain_email_dns_entry_packet.md",
    "purpose": "Convert provider-supplied MX, SPF, DKIM, and DMARC values into a local copyable DNS worksheet before the owner enters records at the DNS host.",
    "runAfter": [
      "mail provider purchase",
      "provider dashboard shows exact MX/SPF/DKIM/DMARC values"
    ],
    "runBefore": [
      "DNS record entry",
      "tools/check_domain_email_dns.py",
      "domain email evidence packet",
      "BaseScan resubmission preflight"
    ],
    "outputs": [
      "launch/domain_email_dns_entry_packet.json",
      "launch/domain_email_dns_entry_packet.md"
    ],
    "boundaries": [
      "does not write DNS records",
      "does not send email",
      "does not submit BaseScan request",
      "does not touch wallets or contracts",
      "does not store secrets"
    ]
  },
  "dnsEntryWorksheet": [
    {
      "record": "MX",
      "purpose": "Routes inbound mail for support@gcagochina.com.",
      "type": "MX",
      "nameOrHost": "@ or gcagochina.com, exactly as the DNS host expects.",
      "valueSource": "Copy the provider mail server host and priority from the provider dashboard; do not guess.",
      "readyCheck": "tools/check_domain_email_dns.py reports MX present for gcagochina.com.",
      "commonMistake": "Adding the MX record under support.gcagochina.com instead of the root domain."
    },
    {
      "record": "SPF",
      "purpose": "Authorizes the chosen provider to send authenticated mail for gcagochina.com.",
      "type": "TXT",
      "nameOrHost": "@ or gcagochina.com, exactly as the DNS host expects.",
      "valueSource": "Copy the provider SPF string and merge it into the existing root-domain v=spf1 TXT record if one already exists.",
      "readyCheck": "tools/check_domain_email_dns.py reports a single SPF record.",
      "commonMistake": "Publishing multiple root-domain SPF TXT records instead of merging provider includes into one value."
    },
    {
      "record": "DKIM",
      "purpose": "Proves that outbound mail is signed by the provider.",
      "type": "TXT or CNAME, exactly as the provider requires.",
      "nameOrHost": "<provider-selector>._domainkey or the exact host shown by the provider.",
      "valueSource": "Copy the provider DKIM value and selector exactly; record the selector for --dkim-selector.",
      "readyCheck": "tools/check_domain_email_dns.py reports DKIM present when rerun with --dkim-selector <provider-selector>.",
      "commonMistake": "Using a guessed selector or omitting the _domainkey host segment when the provider requires it."
    },
    {
      "record": "DMARC",
      "purpose": "Publishes the domain mail policy for receiving mail systems.",
      "type": "TXT",
      "nameOrHost": "_dmarc",
      "valueSource": "Start with the provider recommendation or monitoring mode such as v=DMARC1; p=none; until delivery is stable.",
      "readyCheck": "tools/check_domain_email_dns.py reports DMARC present at _dmarc.gcagochina.com.",
      "commonMistake": "Adding DMARC at the root domain instead of _dmarc.gcagochina.com."
    }
  ],
  "testChecklist": [
    "Send an inbound test from Gmail or Outlook to support@gcagochina.com",
    "Reply from support@gcagochina.com to Gmail or Outlook",
    "Confirm the visible sender is support@gcagochina.com",
    "Confirm messages are not landing in spam during the first test",
    "Archive test screenshots or message headers for owner records"
  ],
  "activationEvidencePacket": {
    "purpose": "Evidence to retain before the next clean BaseScan resubmission so sender email, website contact email, and domain ownership evidence are consistent.",
    "requiredEvidence": [
      "Mail provider dashboard shows support@gcagochina.com as verified or active",
      "DNS lookup confirms MX, SPF, DKIM, and DMARC records after propagation",
      "Inbound test from Gmail or Outlook to support@gcagochina.com is received",
      "Outbound reply from support@gcagochina.com to Gmail or Outlook shows the domain email as the visible sender",
      "Updated support page shows the same domain email used in the BaseScan form"
    ],
    "recommendedFilenames": [
      "domain-email-provider-active.png",
      "domain-email-dns-mx-spf-dkim-dmarc.txt",
      "domain-email-inbound-test.png",
      "domain-email-outbound-test.png",
      "support-page-domain-email.png"
    ]
  },
  "operatorDnsCheck": {
    "tool": "tools/check_domain_email_dns.py",
    "command": "python3 tools/check_domain_email_dns.py --domain gcagochina.com --mailbox support --dkim-selector <provider-selector> --json",
    "checks": [
      "MX",
      "SPF",
      "DMARC",
      "DKIM"
    ],
    "readyRequires": [
      "MX present",
      "single SPF present",
      "DMARC present",
      "DKIM present for provider selector"
    ],
    "boundaries": [
      "read-only DNS check",
      "does not send email",
      "does not submit BaseScan request",
      "does not touch wallets or contracts"
    ]
  },
  "operatorEvidencePacketBuilder": {
    "tool": "tools/build_domain_email_evidence_packet.py",
    "initCommand": "python3 tools/build_domain_email_evidence_packet.py --init-evidence-dir --evidence-dir launch/domain_email_evidence",
    "command": "python3 tools/build_domain_email_evidence_packet.py --dkim-selector <provider-selector> --evidence-dir launch/domain_email_evidence --website-email-updated --output-json launch/domain_email_evidence_packet.json --output-md launch/domain_email_evidence_packet.md",
    "evidenceDirectory": "launch/domain_email_evidence",
    "readyRequires": [
      "readyForBaseScanEmailEvidence is true in the DNS check",
      "provider active proof is saved",
      "DNS lookup proof is saved",
      "inbound test proof is saved",
      "outbound test proof is saved",
      "support page proof is saved",
      "website email has been switched to support@gcagochina.com"
    ],
    "outputs": [
      "launch/domain_email_evidence_packet.json",
      "launch/domain_email_evidence_packet.md"
    ],
    "boundaries": [
      "local owner evidence packet only",
      "does not send email",
      "does not submit BaseScan request",
      "does not write DNS records",
      "does not touch wallets or contracts"
    ]
  },
  "operatorEvidenceChecklist": {
    "pageUrl": "https://gcagochina.com/domain-email-evidence.html",
    "jsonUrl": "https://gcagochina.com/domain-email-evidence.json",
    "status": "evidence-collected-private-ready",
    "purpose": "Public, reviewer-safe checklist for the private domain email evidence packet without publishing mailbox screenshots.",
    "privateEvidenceDirectory": "launch/domain_email_evidence",
    "requiredEvidenceFiles": [
      "domain-email-provider-active.png",
      "domain-email-dns-mx-spf-dkim-dmarc.txt",
      "domain-email-inbound-test.png",
      "domain-email-outbound-test.png",
      "support-page-domain-email.png"
    ],
    "boundaries": [
      "does not publish private mailbox screenshots",
      "does not write DNS records",
      "does not send email",
      "does not submit BaseScan request",
      "does not touch wallets or contracts",
      "does not store secrets"
    ]
  },
  "operatorSwitchPlanBuilder": {
    "tool": "tools/build_domain_email_switch_plan.py",
    "command": "python3 tools/build_domain_email_switch_plan.py --json",
    "ownerArtifactCommand": "python3 tools/build_domain_email_switch_plan.py --output-json launch/domain_email_switch_plan.json --output-md launch/domain_email_switch_plan.md",
    "patchPreviewCommand": "python3 tools/build_domain_email_switch_plan.py --patch",
    "ownerPatchPreviewCommand": "python3 tools/build_domain_email_switch_plan.py --output-patch launch/domain_email_switch_preview.patch",
    "purpose": "Audit public site, launch, docs, and operator contact files for any remaining legacy Outlook-email references now that support@gcagochina.com is the active public contact.",
    "runAfter": [
      "support@gcagochina.com receives external email",
      "support@gcagochina.com sends authenticated external email",
      "domain email evidence packet is ready",
      "BaseScan resubmission preflight is ready"
    ],
    "boundaries": [
      "read-only scan by default",
      "patch preview is generated only and not applied",
      "does not edit files",
      "does not send email",
      "does not submit BaseScan request",
      "does not write DNS records",
      "does not touch wallets or contracts"
    ]
  },
  "operatorPublicSwitchChecker": {
    "tool": "tools/check_domain_email_public_switch.py",
    "command": "python3 tools/check_domain_email_public_switch.py --json --require-switched",
    "purpose": "Read-only gate that verifies critical public, support, and BaseScan files no longer publish the previous public email and do publish support@gcagochina.com after domain email activation.",
    "runAfter": [
      "domain email evidence packet is ready",
      "public files have been manually switched to support@gcagochina.com",
      "domain email switch plan has been reviewed"
    ],
    "blocksWhen": [
      "any critical file still contains the previous public email",
      "any critical file is missing support@gcagochina.com after the switch",
      "any critical file listed in filesToUpdateAfterActivation is missing"
    ],
    "enforcedBy": [
      "tools/check_basescan_resubmission_readiness.py",
      "tools/build_basescan_submission_package.py"
    ],
    "boundaries": [
      "read-only check",
      "does not edit files",
      "does not send email",
      "does not submit BaseScan request",
      "does not write DNS records",
      "does not touch wallets or contracts"
    ]
  },
  "operatorSnapshotAlignmentChecker": {
    "tool": "tools/check_domain_email_snapshot_alignment.py",
    "command": "python3 tools/check_domain_email_snapshot_alignment.py --json --require-aligned",
    "purpose": "Read-only gate that verifies public site, launch, and docs materials still match the canonical liveDnsSnapshot before reusing BaseScan or platform reply packets.",
    "runAfter": [
      "tools/check_domain_email_dns.py has produced a new DNS snapshot",
      "public site, launch, and docs materials have been updated to the same snapshot date",
      "before sending BaseScan, Blockaid, GeckoTerminal, or other platform follow-up copy"
    ],
    "blocksWhen": [
      "any monitored public artifact is missing",
      "any monitored artifact still cites an older DNS snapshot date",
      "any monitored artifact that belongs to the domain-email gate is missing the current snapshot date"
    ],
    "enforcedBy": [
      "tools/check_basescan_resubmission_readiness.py",
      "tools/build_basescan_submission_package.py"
    ],
    "canonicalSnapshot": {
      "source": "site/domain-email.json liveDnsSnapshot",
      "checkedAt": "2026-05-30T16:24:34Z",
      "date": "2026-05-30",
      "readyForBaseScanEmailEvidence": true
    },
    "boundaries": [
      "read-only check",
      "does not edit files",
      "does not send email",
      "does not submit BaseScan request",
      "does not write DNS records",
      "does not touch wallets or contracts",
      "does not print secrets"
    ]
  },
  "baseScanSubmissionPolicy": {
    "nextCleanSubmissionSender": "support@gcagochina.com",
    "doNotResubmitBefore": [
      "BaseScan readiness preflight passes",
      "final submission package is generated without the DRAFT ONLY marker",
      "owner is logged into BaseScan with the correct account",
      "private evidence files remain available if BaseScan asks for proof"
    ],
    "ifBaseScanAsksBeforeActivation": "Activation is complete. Reply from support@gcagochina.com and link the public domain-email readiness page plus Tim Chen professional profile."
  },
  "filesToUpdateAfterActivation": [
    "site/support.html",
    "site/support.json",
    "site/zh-support.html",
    "site/register.html",
    "site/members.html",
    "site/project.json",
    "site/listing-kit.html",
    "site/basescan-remediation.html",
    "site/basescan-remediation.json",
    "site/external-reviews.json",
    "site/reviewer-kit.json",
    "launch/basescan_form_values.json",
    "launch/basescan_resubmission_values.json",
    "launch/basescan_resubmission_package.md",
    "launch/external_review_followup_tracker.json",
    "launch/external_review_followup_tracker.md"
  ],
  "currentPublicSwitchSnapshot": {
    "checkedAt": "2026-05-30T16:24:34Z",
    "source": "tools/check_domain_email_public_switch.py --json --require-switched",
    "status": "public-email-switch-complete",
    "filesStillUsingCurrentEmail": 0,
    "currentEmail": "support@gcagochina.com",
    "legacyEmail": "GCAgochina@outlook.com",
    "targetDomainEmail": "support@gcagochina.com",
    "oldEmailFilePaths": [],
    "targetAwareButStillTracked": [],
    "switchCompletedAfter": [
      "support@gcagochina.com receives external mail",
      "support@gcagochina.com sends authenticated external mail",
      "MX, SPF, DKIM, and DMARC evidence passes",
      "domain email evidence packet is complete",
      "tools/check_domain_email_public_switch.py --json --require-switched passes"
    ],
    "switchOnlyAfter": [
      "support@gcagochina.com receives external mail",
      "support@gcagochina.com sends authenticated external mail",
      "MX, SPF, DKIM, and DMARC evidence passes",
      "domain email evidence packet is complete",
      "tools/check_domain_email_public_switch.py --json --require-switched passes"
    ],
    "nextAction": "Proceed only with one clean owner-controlled BaseScan resubmission from support@gcagochina.com."
  },
  "publicClaimBoundaries": {
    "safeClaims": [
      "GCA has activated support@gcagochina.com as the official project-domain support email.",
      "Public DNS for gcagochina.com has MX, SPF, DKIM, and DMARC records present for the domain email evidence packet.",
      "Private provider, DNS, inbound, outbound, and support-page evidence is archived locally for reviewer follow-up."
    ],
    "doNotClaim": [
      "BaseScan token profile approval before BaseScan publishes it",
      "third-party audit completion before an independent report is published",
      "locked reserve before on-chain custody changes"
    ]
  },
  "previousPublicEmail": "GCAgochina@outlook.com"
}
