← back to Carmelwallpapers
Record live disclosures, ownership verification and Carmel review request
acba1fba437f0a3b7f4602e28b8fedba99e593cf · 2026-09-10 10:47:21 -0700 · Steve Abrams
Files touched
A verification/TK-11380/carmel-privacy-live.pngA verification/TK-11380/console-carmelwallpapers.com-inspect.jsonA verification/TK-11380/console-carmelwallpapers.com-next.jsonA verification/TK-11380/console-carmelwallpapers.com-request.jsonA verification/TK-11380/console-hospitalitydesignreps.com-inspect.jsonA verification/TK-11380/console-iwascute.com-next.jsonA verification/TK-11380/console-iwascute.com-verify.jsonA verification/TK-11380/console-review.cjsA verification/TK-11380/deploy-disclosures.shA verification/TK-11380/disclosures-live.jsonA verification/TK-11380/hospitality-privacy-live.pngA verification/e2e-proof.json
Diff
commit acba1fba437f0a3b7f4602e28b8fedba99e593cf
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Sep 10 10:47:21 2026 -0700
Record live disclosures, ownership verification and Carmel review request
---
verification/TK-11380/carmel-privacy-live.png | Bin 0 -> 242508 bytes
.../console-carmelwallpapers.com-inspect.json | 14 ++++++
.../console-carmelwallpapers.com-next.json | 14 ++++++
.../console-carmelwallpapers.com-request.json | 13 +++++
.../console-hospitalitydesignreps.com-inspect.json | 13 +++++
.../TK-11380/console-iwascute.com-next.json | 14 ++++++
.../TK-11380/console-iwascute.com-verify.json | 14 ++++++
verification/TK-11380/console-review.cjs | 40 +++++++++++++++
verification/TK-11380/deploy-disclosures.sh | 56 +++++++++++++++++++++
verification/TK-11380/disclosures-live.json | 26 ++++++++++
verification/TK-11380/hospitality-privacy-live.png | Bin 0 -> 249877 bytes
verification/e2e-proof.json | 43 ++++++++++++++++
12 files changed, 247 insertions(+)
diff --git a/verification/TK-11380/carmel-privacy-live.png b/verification/TK-11380/carmel-privacy-live.png
new file mode 100644
index 0000000..18452f7
Binary files /dev/null and b/verification/TK-11380/carmel-privacy-live.png differ
diff --git a/verification/TK-11380/console-carmelwallpapers.com-inspect.json b/verification/TK-11380/console-carmelwallpapers.com-inspect.json
new file mode 100644
index 0000000..6aeef99
--- /dev/null
+++ b/verification/TK-11380/console-carmelwallpapers.com-inspect.json
@@ -0,0 +1,14 @@
+{
+ "timestamp": "2026-09-10T17:43:39.960Z",
+ "site": "carmelwallpapers.com",
+ "phase": "inspect",
+ "url": "https://adsense.google.com/adsense/u/0/pub-5278231299883833/sites/detail/url=carmelwallpapers.com",
+ "before": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\ncarmelwallpapers.com\nRequires review\ndelete\nDelete site\n\ncarmelwallpapers.com\n\nYour site needs review\n\ncode\nVerify site ownership\n\nexpand_less\n\nSelect verification method:\n\nAdSense code snippet\nAds.txt snippet\nMeta tag\nTo get your site ready to show ads, copy and paste this code between the <head></head> tags on each page of your site. Learn more about the AdSense code.\nYour AdSense code\nCopy\ncheck_box\nI've placed the code\nVerify\nfact_check\nRequest review\n\n",
+ "after": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\ncarmelwallpapers.com\nRequires review\ndelete\nDelete site\n\ncarmelwallpapers.com\n\nYour site needs review\n\ncode\nVerify site ownership\n\nexpand_less\n\nSelect verification method:\n\nAdSense code snippet\nAds.txt snippet\nMeta tag\nTo get your site ready to show ads, copy and paste this code between the <head></head> tags on each page of your site. Learn more about the AdSense code.\nYour AdSense code\nCopy\ncheck_box\nI've placed the code\nVerify\nfact_check\nRequest review\n\n",
+ "buttons": [
+ "codeVerify site ownershipexpand_less",
+ "Verify",
+ "fact_checkRequest review",
+ "Next"
+ ]
+}
diff --git a/verification/TK-11380/console-carmelwallpapers.com-next.json b/verification/TK-11380/console-carmelwallpapers.com-next.json
new file mode 100644
index 0000000..f2c4a68
--- /dev/null
+++ b/verification/TK-11380/console-carmelwallpapers.com-next.json
@@ -0,0 +1,14 @@
+{
+ "timestamp": "2026-09-10T17:45:06.967Z",
+ "site": "carmelwallpapers.com",
+ "phase": "next",
+ "url": "https://adsense.google.com/adsense/u/0/pub-5278231299883833/sites/detail/url=carmelwallpapers.com",
+ "before": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\ncarmelwallpapers.com\nRequires review\ndelete\nDelete site\n\ncarmelwallpapers.com\n\nYour site needs review\n\ncode\nVerify site ownership\n\nexpand_less\n\nSelect verification method:\n\nAdSense code snippet\nAds.txt snippet\nMeta tag\nTo get your site ready to show ads, copy and paste this code between the <head></head> tags on each page of your site. Learn more about the AdSense code.\nYour AdSense code\nCopy\ncheck_box\nI've placed the code\nVerify\nfact_check\nRequest review\n\n",
+ "after": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\ncarmelwallpapers.com\nRequires review\ndelete\nDelete site\n\ncarmelwallpapers.com\n\nYour site needs review\n\ncheck_circle_filled\nVerify site ownership\n\nexpand_less\nfact_check\nRequest review\n\nexpand_less\n\nWe review the site to check it complies with AdSense Program policies. Learn more about site approvals\n\nRequest review\n",
+ "buttons": [
+ "check_circle_filledVerify site ownershipexpand_less",
+ "fact_checkRequest reviewexpand_less",
+ "Request review"
+ ],
+ "dialogs": []
+}
diff --git a/verification/TK-11380/console-carmelwallpapers.com-request.json b/verification/TK-11380/console-carmelwallpapers.com-request.json
new file mode 100644
index 0000000..0b357d7
--- /dev/null
+++ b/verification/TK-11380/console-carmelwallpapers.com-request.json
@@ -0,0 +1,13 @@
+{
+ "timestamp": "2026-09-10T17:46:09.506Z",
+ "site": "carmelwallpapers.com",
+ "phase": "request",
+ "url": "https://adsense.google.com/adsense/u/0/pub-5278231299883833/sites/detail/url=carmelwallpapers.com",
+ "before": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\ncarmelwallpapers.com\nRequires review\ndelete\nDelete site\n\ncarmelwallpapers.com\n\nYour site needs review\n\ncheck_circle_filled\nVerify site ownership\n\nexpand_less\nfact_check\nRequest review\n\nexpand_less\n\nWe review the site to check it complies with AdSense Program policies. Learn more about site approvals\n\nRequest review\n",
+ "after": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\ncarmelwallpapers.com\nGetting ready\ndelete\nDelete site\n\ncarmelwallpapers.com\n\nGetting your site ready to show ads\n\ncheck_circle_filled\nVerify site ownership\n\nexpand_less\ncheck_circle_filled\nReview requested\n\nexpand_less\n",
+ "buttons": [
+ "check_circle_filledVerify site ownershipexpand_less",
+ "check_circle_filledReview requestedexpand_less"
+ ],
+ "dialogs": []
+}
diff --git a/verification/TK-11380/console-hospitalitydesignreps.com-inspect.json b/verification/TK-11380/console-hospitalitydesignreps.com-inspect.json
new file mode 100644
index 0000000..bde6fc6
--- /dev/null
+++ b/verification/TK-11380/console-hospitalitydesignreps.com-inspect.json
@@ -0,0 +1,13 @@
+{
+ "timestamp": "2026-09-10T17:45:35.786Z",
+ "site": "hospitalitydesignreps.com",
+ "phase": "inspect",
+ "url": "https://adsense.google.com/adsense/u/0/pub-5278231299883833/sites/detail/url=hospitalitydesignreps.com",
+ "before": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\nhospitalitydesignreps.com\nGetting ready\ndelete\nDelete site\n\nhospitalitydesignreps.com\n\nGetting your site ready to show ads\n\ncheck_circle_filled\nVerify site ownership\n\nexpand_less\ncheck_circle_filled\nReview requested\n\nexpand_less\n",
+ "after": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\nhospitalitydesignreps.com\nGetting ready\ndelete\nDelete site\n\nhospitalitydesignreps.com\n\nGetting your site ready to show ads\n\ncheck_circle_filled\nVerify site ownership\n\nexpand_less\ncheck_circle_filled\nReview requested\n\nexpand_less\n",
+ "buttons": [
+ "check_circle_filledVerify site ownershipexpand_less",
+ "check_circle_filledReview requestedexpand_less"
+ ],
+ "dialogs": []
+}
diff --git a/verification/TK-11380/console-iwascute.com-next.json b/verification/TK-11380/console-iwascute.com-next.json
new file mode 100644
index 0000000..a610abc
--- /dev/null
+++ b/verification/TK-11380/console-iwascute.com-next.json
@@ -0,0 +1,14 @@
+{
+ "timestamp": "2026-09-10T17:45:35.848Z",
+ "site": "iwascute.com",
+ "phase": "next",
+ "url": "https://adsense.google.com/adsense/u/0/pub-5278231299883833/sites/detail/url=iwascute.com",
+ "before": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\niwascute.com\nRequires review\ndelete\nDelete site\n\niwascute.com\n\nYour site needs review\n\ncode\nVerify site ownership\n\nexpand_less\n\nSelect verification method:\n\nAdSense code snippet\nAds.txt snippet\nMeta tag\nTo get your site ready to show ads, copy and paste this HTML <meta> tag between the <head></head> tags on each page of your site. Learn more about using HTML <meta> tag to connect the site.\n<meta name=\"google-adsense-account\" content=\"ca-pub-5278231299883833\">\ncontent_copy\nCopy\ncheck_box\nI've placed the HTML <meta> tag\nVerify\nfact_check\nRequest review\n\n",
+ "after": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\niwascute.com\nRequires review\ndelete\nDelete site\n\niwascute.com\n\nYour site needs review\n\ncheck_circle_filled\nVerify site ownership\n\nexpand_less\nfact_check\nRequest review\n\nexpand_less\n\nWe review the site to check it complies with AdSense Program policies. Learn more about site approvals\n\nRequest review\n",
+ "buttons": [
+ "check_circle_filledVerify site ownershipexpand_less",
+ "fact_checkRequest reviewexpand_less",
+ "Request review"
+ ],
+ "dialogs": []
+}
diff --git a/verification/TK-11380/console-iwascute.com-verify.json b/verification/TK-11380/console-iwascute.com-verify.json
new file mode 100644
index 0000000..2fb3a10
--- /dev/null
+++ b/verification/TK-11380/console-iwascute.com-verify.json
@@ -0,0 +1,14 @@
+{
+ "timestamp": "2026-09-10T17:44:00.654Z",
+ "site": "iwascute.com",
+ "phase": "verify",
+ "url": "https://adsense.google.com/adsense/u/0/pub-5278231299883833/sites/detail/url=iwascute.com",
+ "before": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\niwascute.com\nRequires review\ndelete\nDelete site\n\niwascute.com\n\nYour site needs review\n\ncode\nVerify site ownership\n\nexpand_less\n\nSelect verification method:\n\nAdSense code snippet\nAds.txt snippet\nMeta tag\nTo get your site ready to show ads, copy and paste this HTML <meta> tag between the <head></head> tags on each page of your site. Learn more about using HTML <meta> tag to connect the site.\n<meta name=\"google-adsense-account\" content=\"ca-pub-5278231299883833\">\ncontent_copy\nCopy\ncheck_box_outline_blank\nI've placed the HTML <meta> tag\nVerify\nfact_check\nRequest review\n\n",
+ "after": "Skip to content\nmenu\nhelp\nvideo_youtube\nAdSense for YouTube\nhome\nHome\npicture_in_picture\nAds\ndrive_site\nSites\nPrivacy & messaging\narrow_right\nnot_interested\nBrand safety\nassessment\nReports\narrow_right\ntrending_up\nOptimization\npolicy\nPolicy center\narrow_right\nPayments\narrow_right\nsettings\nAccount\nfeedback\nFeedback\nPrivacy\nTerms\nclose\niwascute.com\nRequires review\ndelete\nDelete site\n\niwascute.com\n\nYour site needs review\n\ncode\nVerify site ownership\n\nexpand_less\n\nSelect verification method:\n\nAdSense code snippet\nAds.txt snippet\nMeta tag\nTo get your site ready to show ads, copy and paste this HTML <meta> tag between the <head></head> tags on each page of your site. Learn more about using HTML <meta> tag to connect the site.\n<meta name=\"google-adsense-account\" content=\"ca-pub-5278231299883833\">\ncontent_copy\nCopy\ncheck_box\nI've placed the HTML <meta> tag\nVerify\nfact_check\nRequest review\n\n",
+ "buttons": [
+ "codeVerify site ownershipexpand_less",
+ "Verify",
+ "fact_checkRequest review",
+ "Next"
+ ]
+}
diff --git a/verification/TK-11380/console-review.cjs b/verification/TK-11380/console-review.cjs
new file mode 100644
index 0000000..3330578
--- /dev/null
+++ b/verification/TK-11380/console-review.cjs
@@ -0,0 +1,40 @@
+const { chromium } = require('/Users/macstudio3/Projects/Designer-Wallcoverings/node_modules/playwright');
+const fs = require('node:fs');
+const site = process.argv[2];
+const phase = process.argv[3] || 'inspect';
+if (!['carmelwallpapers.com', 'iwascute.com', 'hospitalitydesignreps.com'].includes(site)) throw Error('Out of scope');
+if (phase !== 'inspect' && Date.now() >= Date.parse('2026-09-11T09:19:10Z')) throw Error('Approval expired');
+(async () => {
+ const browser = await chromium.connectOverCDP('http://127.0.0.1:18800');
+ const url = 'https://adsense.google.com/adsense/u/0/pub-5278231299883833/sites/detail/url=' + site;
+ const pages = browser.contexts().flatMap(c => c.pages()).filter(p => p.url() === url);
+ if (pages.length !== 1) throw Error('Expected one dedicated tab: ' + pages.length);
+ const page = pages[0];
+ await page.bringToFront();
+ const before = (await page.locator('body').innerText()).split('Manage your sites')[0];
+ if (phase === 'verify') {
+ if (site === 'iwascute.com') await page.getByRole('radio', { name: 'Meta tag', exact: true }).check();
+ const checkbox = page.getByRole('checkbox', { name: /placed the/ });
+ await checkbox.check();
+ await page.getByRole('button', { name: 'Verify', exact: true }).click();
+ await page.waitForTimeout(5000);
+ } else if (phase === 'next') {
+ const dialog = page.getByRole('dialog').filter({ hasText: 'Your site is verified' });
+ if (await dialog.count() !== 1) throw Error('Expected ownership verified dialog');
+ await dialog.getByRole('button', { name: 'Next', exact: true }).click();
+ await page.waitForTimeout(1000);
+ } else if (phase === 'request') {
+ if (site !== 'carmelwallpapers.com') throw Error('Only reviewed Carmel is authorized in this request step');
+ const button = page.locator('button').filter({ hasText: /^Request review$/ });
+ if (await button.count() !== 1) throw Error('Ambiguous review request');
+ await button.click();
+ await page.waitForTimeout(5000);
+ } else if (phase !== 'inspect') throw Error('Unknown phase');
+ const result = { timestamp: new Date().toISOString(), site, phase, url: page.url(), before, after: (await page.locator('body').innerText()).split('Manage your sites')[0], buttons: await page.getByRole('button').allTextContents() };
+ result.buttons = result.buttons.filter(t => /verify|review|next|done/i.test(t));
+ result.dialogs = await page.getByRole('dialog').allTextContents();
+ fs.writeFileSync(__dirname + '/console-' + site + '-' + phase + '.json', JSON.stringify(result, null, 2) + '\n');
+ console.log(JSON.stringify(result));
+ // CDP-attached browser belongs to Steve; disconnect by exiting, never close it.
+ process.exit(0);
+})().catch(err => { console.error(err); process.exit(1); });
diff --git a/verification/TK-11380/deploy-disclosures.sh b/verification/TK-11380/deploy-disclosures.sh
new file mode 100644
index 0000000..3a0b6e1
--- /dev/null
+++ b/verification/TK-11380/deploy-disclosures.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+# Run on Kamatera. Narrow approved patch deployment; no data files overwritten.
+set -euo pipefail
+test "$(date -u +%s)" -lt 1789118350
+case "${1:-}" in
+ carmel)
+ app=/root/public-projects/carmelwallpapers; process=carmelwallpapers; domain=carmelwallpapers.com; port=19961
+ data=data/products.json
+ files=(server.js public/about.html public/privacy.html public/robots.txt)
+ ;;
+ hospitality)
+ app=/root/Projects/hospitalitydesignreps; process=hospitalitydesignreps; domain=hospitalitydesignreps.com; port=9927
+ data=data/reps.json
+ files=(server.js views/privacy.ejs views/about.ejs views/partials/head.ejs views/partials/foot.ejs)
+ ;;
+ *) exit 2 ;;
+esac
+patch="/tmp/TK-11380-$1-disclosures.patch"
+cd "$app"
+git apply --check "$patch"
+if git ls-files | grep -qE '(^|/)\.env($|\.)'; then echo 'ABORT tracked env'; exit 1; fi
+nginx -t > /tmp/TK-11380-disclosure-nginx.log 2>&1
+backup="/root/backups/TK-11380-$1-disclosures-$(date -u +%Y%m%dT%H%M%SZ)"
+mkdir -m 700 -p "$backup"
+for file in "${files[@]}"; do
+ if test -f "$file"; then mkdir -p "$backup/$(dirname "$file")"; cp -a "$file" "$backup/$file"; fi
+done
+sha256sum "$data" > "$backup/data.sha256"
+git status --short > "$backup/worktree-before.txt"
+git add -u
+if ! git diff --cached --quiet; then
+ git -c user.name='Steve Abrams' -c user.email=steve@designerwallcoverings.com commit -m "snapshot before approved $1 disclosures"
+fi
+git rev-parse HEAD > "$backup/snapshot-commit"
+git apply "$patch"
+node --check server.js
+pm2 restart "$process" > "$backup/restart.log" 2>&1
+for attempt in {1..20}; do
+ if curl -fsS "http://127.0.0.1:$port/privacy" > "$backup/private-probe.html"; then break; fi
+ sleep 1
+done
+for path in privacy about sitemap.xml robots.txt; do
+ curl -fsS "https://$domain/$path" > "$backup/$path"
+done
+python3 - "$backup" <<'PY'
+import pathlib,sys,xml.etree.ElementTree as ET
+p=pathlib.Path(sys.argv[1]); root=ET.parse(p/'sitemap.xml').getroot()
+assert root.tag=='{http://www.sitemaps.org/schemas/sitemap/0.9}urlset'
+assert len(root)>60
+assert 'My Ad Center' in (p/'privacy').read_text()
+print('PUBLIC_DISCLOSURES_PASS',len(root))
+PY
+sha256sum -c "$backup/data.sha256"
+git add -- "${files[@]}"
+git -c user.name='Steve Abrams' -c user.email=steve@designerwallcoverings.com commit -m "Publish $1 privacy and crawl improvements"
+printf 'DEPLOYED %s backup=%s commit=%s\n' "$domain" "$backup" "$(git rev-parse --short HEAD)"
diff --git a/verification/TK-11380/disclosures-live.json b/verification/TK-11380/disclosures-live.json
new file mode 100644
index 0000000..b6bc1f8
--- /dev/null
+++ b/verification/TK-11380/disclosures-live.json
@@ -0,0 +1,26 @@
+{
+ "timestamp": "2026-09-10T17:38:38.440Z",
+ "environment": "live",
+ "sites": [
+ {
+ "name": "carmel",
+ "paths": "PASS",
+ "publicPrivacyLink": "PASS",
+ "privacyRender": "PASS",
+ "sitemapUrls": 2185,
+ "sampledProduct": "/p/agra-okra",
+ "jsErrors": [],
+ "adRequestsBlocked": true
+ },
+ {
+ "name": "hospitality",
+ "paths": "PASS",
+ "publicPrivacyLink": "PASS",
+ "privacyRender": "PASS",
+ "sitemapUrls": 67,
+ "sampledProduct": "/rep/1",
+ "jsErrors": [],
+ "adRequestsBlocked": true
+ }
+ ]
+}
diff --git a/verification/TK-11380/hospitality-privacy-live.png b/verification/TK-11380/hospitality-privacy-live.png
new file mode 100644
index 0000000..ab169ec
Binary files /dev/null and b/verification/TK-11380/hospitality-privacy-live.png differ
diff --git a/verification/e2e-proof.json b/verification/e2e-proof.json
new file mode 100644
index 0000000..37a66d6
--- /dev/null
+++ b/verification/e2e-proof.json
@@ -0,0 +1,43 @@
+{
+ "ticket": "TK-11380",
+ "timestamp": "2026-09-10T17:47:21.491191+00:00",
+ "intent": "Publish accurate linked privacy information and working crawl paths after repairing public access",
+ "risk_tier": "R4",
+ "environment": "Kamatera production with independent public HTTPS and browser checks",
+ "approval": {
+ "by": "Steve",
+ "expires": "2026-09-11T09:19:10Z"
+ },
+ "source_commit": "a8cf126",
+ "baseline": "Carmel served wrong application; Hospitality auth was independently removed by parallel approved rollout. Both lacked public privacy pages and working sitemaps.",
+ "commands": [
+ "shared pre-deploy-check.sh:5/5PASS",
+ "git apply --check",
+ "snapshot, targeted patch, PM2 restart",
+ "XML ElementTree parse on live-host result",
+ "sha256sum data file unchanged",
+ "node verification/TK-11380/verify-disclosures.cjs --live"
+ ],
+ "assertions": {
+ "name": "carmel",
+ "paths": "PASS",
+ "publicPrivacyLink": "PASS",
+ "privacyRender": "PASS",
+ "sitemapUrls": 2185,
+ "sampledProduct": "/p/agra-okra",
+ "jsErrors": [],
+ "adRequestsBlocked": true
+ },
+ "proof_file": "/Users/macstudio3/Projects/carmelwallpapers/verification/TK-11380/disclosures-live.json",
+ "independent_review": "action-mtvt6qwn-13822-22xqba; parent reviewed screenshots and repeated public checks",
+ "backup": "/root/backups/TK-11380-carmel-disclosures-20260910T173746Z",
+ "rollback": "Restore only changed source/template files from backup and restart named process; preserve data and unrelated services.",
+ "cleanup": "Local preview processes stopped after evidence; no photo submissions or ad clicks.",
+ "google_status": "Getting ready / Review requested; not Ready",
+ "limitations": [
+ "Google approval is pending",
+ "No legal or consent-platform certification",
+ "Safari/Firefox unavailable for current smoke pass"
+ ],
+ "verdict": "PASS scoped live repair and disclosure publication; Google approval pending"
+}
← 1342913 Add linked Carmel disclosures and crawlable catalog sitemap
·
back to Carmelwallpapers
·
Record deployed AdSense fixes and remaining product readines 440ced2 →