Files
world/index.html
T
hanzo-dev a17975e824 release: v2.4.47 — instrument world: Sentry + analytics.hanzo.ai (Umami) + GTM-ready, clean AnalyticsPanel/analytics naming
Wire world's telemetry to the live Hanzo observability services, all env-gated
from KMS (no-op until IDs provisioned — ships inert, activates on config):
- Sentry: VITE_SENTRY_DSN build-secret → errors to sentry.hanzo.ai.
- Analytics: bootstrap/analytics.ts injects the analytics.hanzo.ai (Umami) script
  on VITE_ANALYTICS_WEBSITE_ID; track() forwards custom product events (→
  /v1/insights/events + AnalyticsPanel pageviews). track('variant_view') wired.
- GTM-ready: initGtm() loads one Google Tag Manager container (VITE_GTM_ID) that
  manages GA / Facebook / LinkedIn / X tags from GTM's UI; CSP script-src allows
  googletagmanager/google-analytics/facebook/linkedin/x.
- Naming: CloudAnalyticsPanel → AnalyticsPanel, org-analytics.ts → analytics.ts.
OpenGraph/Twitter/JSON-LD SEO already comprehensive.

Claude-Session: https://claude.ai/code/session_01NP4ehjWW2h98FkE4YjUKuJ
2026-07-22 18:49:21 -07:00

104 lines
5.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; connect-src 'self' https: http://localhost:5173 http://127.0.0.1:46123 ws: wss: blob: data:; img-src 'self' data: blob: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'wasm-unsafe-eval' https://analytics.hanzo.ai https://www.youtube.com https://static.cloudflareinsights.com https://www.googletagmanager.com https://www.google-analytics.com https://connect.facebook.net https://snap.licdn.com https://static.ads-twitter.com https://s3.tradingview.com https://s.tradingview.com; worker-src 'self' blob:; font-src 'self' data: https:; media-src 'self' data: blob: https:; frame-src 'self' http://127.0.0.1:46123 https://www.youtube.com https://www.youtube-nocookie.com https://www.tradingview-widget.com https://s.tradingview.com https://www.tradingview.com;" />
<meta name="referrer" content="strict-origin-when-cross-origin" />
<!-- Primary Meta Tags -->
<title>Hanzo World — Real-Time Global Intelligence</title>
<meta name="title" content="Hanzo World — Real-Time Global Intelligence" />
<meta name="description" content="Hanzo World — AI-powered real-time global intelligence dashboard: live news, markets, strategic posture, infrastructure and geopolitical data in one view." />
<meta name="keywords" content="Hanzo, AI intelligence, global intelligence, geopolitical dashboard, world news, market data, real-time monitoring, situation awareness, prediction markets" />
<meta name="author" content="Hanzo AI" />
<meta name="theme-color" content="#000000" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="https://world.hanzo.ai/" />
<!-- Additional Search Discovery -->
<meta name="application-name" content="Hanzo World" />
<meta name="subject" content="AI-Powered Global Intelligence and Situation Awareness" />
<meta name="classification" content="AI Intelligence Dashboard" />
<meta name="coverage" content="Worldwide" />
<meta name="distribution" content="Global" />
<meta name="rating" content="General" />
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://world.hanzo.ai/" />
<meta property="og:title" content="Hanzo World — Real-Time Global Intelligence" />
<meta property="og:description" content="Hanzo World — AI-powered real-time global intelligence dashboard: live news, markets, strategic posture and geopolitical data." />
<meta property="og:image" content="https://world.hanzo.ai/favico/og-image.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:site_name" content="Hanzo World" />
<meta property="og:locale" content="en_US" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:url" content="https://world.hanzo.ai/" />
<meta name="twitter:title" content="Hanzo World — Real-Time Global Intelligence" />
<meta name="twitter:description" content="Hanzo World — AI-powered real-time global intelligence dashboard." />
<meta name="twitter:image" content="https://world.hanzo.ai/favico/og-image.png" />
<meta name="twitter:site" content="@hanzoai" />
<meta name="twitter:creator" content="@hanzoai" />
<!-- JSON-LD Structured Data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Hanzo World",
"alternateName": "Hanzo World Intelligence",
"url": "https://world.hanzo.ai/",
"description": "Hanzo World — AI-powered real-time global intelligence dashboard with live news, markets, strategic posture, infrastructure and geopolitical data.",
"applicationCategory": "UtilitiesApplication",
"operatingSystem": "Web Browser",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"author": {
"@type": "Organization",
"name": "Hanzo AI"
},
"featureList": [
"AI-powered intelligence synthesis",
"Real-time news aggregation",
"Stock market tracking",
"Military flight monitoring",
"Ship AIS tracking",
"Earthquake alerts",
"Protest tracking",
"Power outage monitoring",
"Oil price analytics",
"Government spending data",
"Prediction markets",
"Infrastructure monitoring",
"Geopolitical intelligence"
],
"screenshot": "https://world.hanzo.ai/favico/og-image.png",
"keywords": "AI, OSINT, intelligence dashboard, geopolitical, real-time monitoring, situation awareness, AI-powered"
}
</script>
<!-- Favicons -->
<link rel="icon" type="image/svg+xml" href="/favico/hanzo-favicon.svg" />
<link rel="icon" type="image/x-icon" href="/favico/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/favico/hanzo-favicon.svg" />
<!-- Theme: apply stored preference before first paint to prevent FOUC -->
<script>(function(){try{var t=localStorage.getItem('worldmonitor-theme');if(t==='light')document.documentElement.dataset.theme='light';}catch(e){}document.documentElement.classList.add('no-transition');})()</script>
<!-- Styles -->
<link rel="stylesheet" href="/src/styles/main.css" />
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>