mirror of
https://github.com/hanzoai/world.git
synced 2026-08-05 05:42:22 +00:00
Release / build-amd64 (push) Successful in 5m4s
One line, the same line every Hanzo property gets. The widget resolves this host to its repo from its own map, so the meta here is the explicit declaration that outranks the map rather than a requirement. The tag brings session replay with it (rrweb → insights.hanzo.ai), so world's HANZO_STATIC_CSP has to name hanzo.app and insights.hanzo.ai in script-src — without it the tag is blocked and the ring simply never appears, silently. That half of the change is in universe; connect-src here already allows https:. Co-authored-by: Hanzo Dev <dev@hanzo.ai>
114 lines
6.2 KiB
HTML
114 lines
6.2 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://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" />
|
|
|
|
<!-- Hanzo Edit: the ensō ring in the corner, and the session recording behind
|
|
it. One line, identical on every Hanzo property — the widget resolves this
|
|
host to its repo from its own map, so no meta is required here; the one
|
|
below is the explicit declaration that outranks it. Replay rides the same
|
|
tag (rrweb → insights.hanzo.ai), which is why HANZO_STATIC_CSP for this
|
|
app has to allow hanzo.app and insights.hanzo.ai. See hanzoai/app
|
|
HANZO_EDIT.md. -->
|
|
<meta name="hanzo:repo" content="hanzoai/world" />
|
|
<script async src="https://hanzo.app/edit.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<script type="module" src="/src/main.ts"></script>
|
|
</body>
|
|
</html>
|