qa test bug fix

This commit is contained in:
Surendiran 2026-09-18 14:52:33 +05:30
parent c721559ae0
commit 5a59be7b8a
33 changed files with 535 additions and 201 deletions

View File

@ -36,6 +36,11 @@ Options -Indexes
# /services/ → /services (fixes broken relative CSS under trailing slash)
RewriteRule ^services/$ /services [R=301,L]
# Nested extensionless pages: /services/foo/ → /services/foo
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.+)/$ /$1 [R=301,L]
# /services → services.html (page, not the services/ directory)
RewriteRule ^services$ services.html [L]
@ -48,6 +53,10 @@ Options -Indexes
# Safe security headers (do not block static assets)
<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Content-Security-Policy "frame-ancestors 'self'; base-uri 'self'; object-src 'none'; form-action 'self'"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</IfModule>

View File

@ -12,7 +12,7 @@
<meta property="og:title" content="Page Not Found | Zettai Systems" />
<meta property="og:description" content="The page you requested could not be found. Return to the Zettai Systems homepage to continue." />
<meta property="og:url" content="https://zettaisystems.com/404" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />

View File

@ -11,7 +11,7 @@
<meta property="og:title" content="About Us | Zettai Systems" />
<meta property="og:description" content="About Zettai Systems — Chennai-based IT partner since 2016. Story, values, stack, and delivery approach." />
<meta property="og:url" content="https://zettaisystems.com/about" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />

View File

@ -13,6 +13,9 @@ if (zs_is_honeypot_filled()) {
zs_json_response(200, ['ok' => true, 'message' => 'Thank you. Your application has been received.']);
}
zs_require_csrf();
zs_rate_limit('careers');
$name = zs_field('name', 120);
$email = zs_field('email', 160);
$phone = zs_field('phone', 40);

View File

@ -13,6 +13,9 @@ if (zs_is_honeypot_filled()) {
zs_json_response(200, ['ok' => true, 'message' => 'Thank you. We have received your message.']);
}
zs_require_csrf();
zs_rate_limit('contact');
$name = zs_field('name', 120);
$email = zs_field('email', 160);
$phone = zs_field('phone', 40);

View File

@ -10,6 +10,8 @@ const ZS_CAREERS_TO = 'careers@zettaisystems.com';
const ZS_FROM_NAME = 'Zettai Systems Website';
const ZS_FROM_EMAIL = 'noreply@zettaisystems.com';
const ZS_MAX_RESUME_BYTES = 5 * 1024 * 1024; // 5 MB
const ZS_RL_MAX = 5;
const ZS_RL_WINDOW = 900; // 15 minutes
function zs_json_response(int $status, array $payload): void
{
@ -27,6 +29,100 @@ function zs_require_post(): void
}
}
function zs_request_host(): string
{
$host = $_SERVER['HTTP_HOST'] ?? '';
if (!is_string($host) || $host === '') {
return '';
}
return strtolower((string) preg_replace('/:\d+$/', '', $host));
}
function zs_require_csrf(): void
{
$host = zs_request_host();
$origin = $_SERVER['HTTP_ORIGIN'] ?? '';
if (is_string($origin) && $origin !== '') {
$originHost = parse_url($origin, PHP_URL_HOST);
if (!is_string($originHost) || strtolower($originHost) !== $host) {
zs_json_response(403, [
'ok' => false,
'error' => 'Security check failed. Please refresh the page and try again.',
]);
}
}
$cookie = $_COOKIE['zs_csrf'] ?? '';
$posted = $_POST['csrf_token'] ?? '';
if (
!is_string($cookie) ||
!is_string($posted) ||
$cookie === '' ||
$posted === '' ||
!hash_equals($cookie, $posted)
) {
zs_json_response(403, [
'ok' => false,
'error' => 'Security check failed. Please refresh the page and try again.',
]);
}
}
function zs_rate_limit(string $bucket): void
{
$ip = $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0';
if (!is_string($ip) || $ip === '') {
$ip = '0.0.0.0';
}
$dir = rtrim(sys_get_temp_dir(), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'zs_form_rl';
if (!is_dir($dir) && !@mkdir($dir, 0700, true) && !is_dir($dir)) {
return;
}
$file = $dir . DIRECTORY_SEPARATOR . hash('sha256', $bucket . '|' . $ip);
$fh = @fopen($file, 'c+');
if ($fh === false) {
return;
}
flock($fh, LOCK_EX);
$raw = stream_get_contents($fh);
$hits = [];
if (is_string($raw) && $raw !== '') {
$decoded = json_decode($raw, true);
if (is_array($decoded)) {
$hits = $decoded;
}
}
$now = time();
$windowStart = $now - ZS_RL_WINDOW;
$fresh = [];
foreach ($hits as $stamp) {
if (is_int($stamp) && $stamp > $windowStart) {
$fresh[] = $stamp;
}
}
if (count($fresh) >= ZS_RL_MAX) {
flock($fh, LOCK_UN);
fclose($fh);
zs_json_response(429, [
'ok' => false,
'error' => 'Too many submissions. Please wait a few minutes and try again.',
]);
}
$fresh[] = $now;
rewind($fh);
ftruncate($fh, 0);
fwrite($fh, json_encode($fresh));
fflush($fh);
flock($fh, LOCK_UN);
fclose($fh);
}
function zs_field(string $key, int $max = 2000): string
{
$value = $_POST[$key] ?? '';

View File

@ -11,7 +11,7 @@
<meta property="og:title" content="Careers | Zettai Systems" />
<meta property="og:description" content="Join Zettai Systems. Explore current openings—including AI / Agentic Workflow Engineer—and apply through our careers form." />
<meta property="og:url" content="https://zettaisystems.com/careers" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />

View File

@ -11,7 +11,7 @@
<meta property="og:title" content="Contact Us | Zettai Systems" />
<meta property="og:description" content="Contact Zettai Systems in Chennai. Email solutions@zettaisystems.com, call +91 807 299 8024, or send a project enquiry through our contact form." />
<meta property="og:url" content="https://zettaisystems.com/contact" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />

View File

@ -2404,6 +2404,46 @@ body[data-page="contact"] .back-to-top {
top: 1rem;
}
.cookie-banner {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 2100;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 0.85rem 1.25rem;
padding: 0.95rem 1.25rem;
background: var(--surface-elevated);
color: var(--text-color);
border-top: 1px solid var(--border-color);
}
.cookie-banner p {
margin: 0;
flex: 1 1 16rem;
font-size: 0.92rem;
color: var(--muted-text-color);
}
.cookie-banner a {
color: var(--primary-color);
text-decoration: underline;
}
.cookie-banner-actions {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
body.has-cookie-banner .floating-cta,
body.has-cookie-banner .back-to-top {
display: none !important;
}
/* Service detail extras */
.benefit-list {
list-style: none;

View File

@ -11,7 +11,7 @@
<meta property="og:title" content="Zettai Systems | Intelligent Products, Enterprise Governance" />
<meta property="og:description" content="Intelligent products with enterprise governance—scope lock, quality SOPs, AI guardrails, and audit-ready delivery." />
<meta property="og:url" content="https://zettaisystems.com/" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
@ -113,7 +113,7 @@
<div class="hero-float-card c1"><span class="dot"></span> Secure Architecture</div>
<div class="hero-float-card c2"><span class="dot"></span> Cloud-Ready Delivery</div>
<div class="hero-panel">
<svg viewBox="0 0 460 480" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="">
<svg viewBox="0 0 460 480" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
<rect width="460" height="480" fill="url(#hg)" />
<defs>
<linearGradient id="hg" x1="0" y1="0" x2="460" y2="480">

View File

@ -11,7 +11,7 @@
<meta property="og:title" content="Industries | Zettai Systems" />
<meta property="og:description" content="Zettai Systems delivers software for insurance, banking, healthcare, manufacturing, retail, logistics, education, and professional services." />
<meta property="og:url" content="https://zettaisystems.com/industries" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />

View File

@ -1,23 +1,40 @@
/* Google Analytics 4 — G-1JR9P2WP0B */
/* Google Analytics 4 — G-1JR9P2WP0B (loads only after cookie consent) */
(function () {
"use strict";
var MEASUREMENT_ID = "G-1JR9P2WP0B";
var host = location.hostname;
var isLocal = host === "localhost" || host === "127.0.0.1";
window.dataLayer = window.dataLayer || [];
window.gtag = function gtag() {
window.dataLayer.push(arguments);
};
if (isLocal) return;
function isLocalHost() {
var host = location.hostname;
return host === "localhost" || host === "127.0.0.1";
}
window.gtag("js", new Date());
window.gtag("config", MEASUREMENT_ID);
function loadGa() {
if (window.__zsGaLoaded || isLocalHost()) return;
var script = document.createElement("script");
script.async = true;
script.src = "https://www.googletagmanager.com/gtag/js?id=" + encodeURIComponent(MEASUREMENT_ID);
document.head.appendChild(script);
var consent = "";
try {
consent = localStorage.getItem("zs-analytics") || "";
} catch (e) {
consent = "";
}
if (consent !== "granted") return;
window.__zsGaLoaded = true;
window.gtag("js", new Date());
window.gtag("config", MEASUREMENT_ID);
var script = document.createElement("script");
script.async = true;
script.src = "https://www.googletagmanager.com/gtag/js?id=" + encodeURIComponent(MEASUREMENT_ID);
document.head.appendChild(script);
}
window.zsLoadAnalytics = loadGa;
loadGa();
})();

View File

@ -208,7 +208,10 @@
const drawer = document.getElementById("mobileDrawer");
if (!toggle || !drawer) return;
const focusableSelector = "a[href], button:not([disabled])";
const close = () => {
const wasOpen = drawer.classList.contains("is-open");
drawer.classList.remove("is-open");
drawer.hidden = true;
toggle.setAttribute("aria-expanded", "false");
@ -217,6 +220,7 @@
const icon = toggle.querySelector("i");
if (icon) icon.className = "bi bi-list";
icon && (icon.style.fontSize = "1.4rem");
if (wasOpen) toggle.focus();
};
const open = () => {
@ -228,6 +232,13 @@
const icon = toggle.querySelector("i");
if (icon) icon.className = "bi bi-x-lg";
icon && (icon.style.fontSize = "1.25rem");
const first = drawer.querySelector(focusableSelector);
first?.focus();
};
const focusables = () => {
const items = [toggle, ...drawer.querySelectorAll(focusableSelector)];
return items.filter((el) => el && !el.hasAttribute("hidden"));
};
toggle.addEventListener("click", () => {
@ -239,6 +250,27 @@
window.addEventListener("resize", () => {
if (window.innerWidth >= 992) close();
});
document.addEventListener("keydown", (e) => {
if (!drawer.classList.contains("is-open")) return;
if (e.key === "Escape") {
e.preventDefault();
close();
return;
}
if (e.key !== "Tab") return;
const items = focusables();
if (!items.length) return;
const first = items[0];
const last = items[items.length - 1];
if (e.shiftKey && document.activeElement === first) {
e.preventDefault();
last.focus();
} else if (!e.shiftKey && document.activeElement === last) {
e.preventDefault();
first.focus();
}
});
}
/* Scroll effects */
@ -329,6 +361,12 @@
function friendlyFormError(response, data, raw) {
if (data?.error) return data.error;
if (response.status === 403) {
return "Security check failed. Please refresh the page and try again.";
}
if (response.status === 429) {
return "Too many submissions. Please wait a few minutes and try again.";
}
if (response.status === 409 || (raw && /humans_\d+/i.test(raw))) {
return "Security check blocked this send. Please refresh the page and try again, or email solutions@zettaisystems.com.";
}
@ -341,7 +379,18 @@
return "Something went wrong while sending. Please try again or email us directly.";
}
function csrfToken() {
const match = document.cookie.match(/(?:^|; )zs_csrf=([^;]*)/);
if (match && match[1]) return decodeURIComponent(match[1]);
const bytes = new Uint8Array(16);
crypto.getRandomValues(bytes);
const token = Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
document.cookie = "zs_csrf=" + token + "; path=/; SameSite=Lax";
return token;
}
function initForms() {
csrfToken();
document.querySelectorAll("[data-form]").forEach((form) => {
form.addEventListener("submit", async (e) => {
e.preventDefault();
@ -384,9 +433,11 @@
}
try {
const formData = new FormData(form);
formData.set("csrf_token", csrfToken());
const { response, data, raw } = await postForm(
formEndpoint(kind),
new FormData(form),
formData,
false
);
@ -563,8 +614,49 @@
initAOS();
initPageNetworks();
initCareerApply();
initCookieBanner();
});
function initCookieBanner() {
if (document.getElementById("cookieBanner")) return;
let choice = "";
try {
choice = localStorage.getItem("zs-analytics") || "";
} catch (_) {
choice = "";
}
if (choice === "granted" || choice === "denied") return;
const banner = document.createElement("div");
banner.className = "cookie-banner";
banner.id = "cookieBanner";
banner.setAttribute("role", "dialog");
banner.setAttribute("aria-label", "Cookie consent");
banner.innerHTML = `
<p>We use optional analytics cookies (Google Analytics) to understand how the site is used. Your theme preference is stored on this device. Read the <a href="${pageHref("privacy-policy")}">Privacy Policy</a>.</p>
<div class="cookie-banner-actions">
<button type="button" class="btn-zs btn-zs-outline btn-zs-sm" id="cookieDecline">Decline</button>
<button type="button" class="btn-zs btn-zs-primary btn-zs-sm" id="cookieAccept">Accept</button>
</div>
`;
document.body.appendChild(banner);
document.body.classList.add("has-cookie-banner");
const setChoice = (value) => {
try {
localStorage.setItem("zs-analytics", value);
} catch (_) {}
banner.remove();
document.body.classList.remove("has-cookie-banner");
if (value === "granted" && typeof window.zsLoadAnalytics === "function") {
window.zsLoadAnalytics();
}
};
document.getElementById("cookieAccept")?.addEventListener("click", () => setChoice("granted"));
document.getElementById("cookieDecline")?.addEventListener("click", () => setChoice("denied"));
}
function initCareerApply() {
const select = document.getElementById("c-position");
if (!select) return;

View File

@ -11,7 +11,7 @@
<meta property="og:title" content="Privacy Policy | Zettai Systems" />
<meta property="og:description" content="Read how Zettai Systems collects, uses, and protects information submitted through our website and contact forms." />
<meta property="og:url" content="https://zettaisystems.com/privacy-policy" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
@ -84,7 +84,7 @@
<p class="text-muted-zs mb-0">We do not sell personal information.</p>
<h2 class="h4 mt-4">4. Cookies and similar technologies</h2>
<p class="text-muted-zs">Our site uses cookies or local storage for functional purposes (for example, remembering your theme preference). We also use Google Analytics to understand how visitors use the site (pages viewed, approximate location, device, and browser). Google may set cookies as described in Googles privacy policy. You can control cookies through your browser settings.</p>
<p class="text-muted-zs">Our site uses cookies or local storage for functional purposes (for example, remembering your theme preference). We also use Google Analytics to understand how visitors use the site (pages viewed, approximate location, device, and browser), only after you accept analytics cookies in the site banner. Google may set cookies as described in Googles privacy policy. You can change your choice by clearing site data, or control cookies through your browser settings.</p>
<h2 class="h4 mt-4">5. Sharing of information</h2>
<p class="text-muted-zs">We may share information with trusted service providers who help us operate our website, email, hosting, or form processing—only as needed to perform those services. We may also disclose information if required by law or to protect our rights, users, or systems.</p>

View File

@ -11,6 +11,7 @@ Then open http://127.0.0.1:8080/about (not file://)
from __future__ import annotations
import argparse
import json
import mimetypes
import os
from http.server import SimpleHTTPRequestHandler, ThreadingHTTPServer
@ -20,6 +21,17 @@ from urllib.parse import unquote, urlparse
ROOT = Path(__file__).resolve().parent
SECURITY_HEADERS = (
("X-Content-Type-Options", "nosniff"),
("Referrer-Policy", "strict-origin-when-cross-origin"),
("X-Frame-Options", "SAMEORIGIN"),
("Permissions-Policy", "camera=(), microphone=(), geolocation=()"),
(
"Content-Security-Policy",
"frame-ancestors 'self'; base-uri 'self'; object-src 'none'; form-action 'self'",
),
)
class CleanURLHandler(SimpleHTTPRequestHandler):
def __init__(self, *args, **kwargs):
@ -39,9 +51,32 @@ class CleanURLHandler(SimpleHTTPRequestHandler):
self.send_header("Location", location)
self.end_headers()
def _json(self, status: int, payload: dict) -> None:
body = json.dumps(payload).encode("utf-8")
self.send_response(status)
self.send_header("Content-Type", "application/json; charset=utf-8")
self.send_header("Content-Length", str(len(body)))
self.end_headers()
if self.command != "HEAD":
self.wfile.write(body)
def _serve_404(self) -> None:
page = ROOT / "404.html"
data = page.read_bytes() if page.is_file() else b"Not found"
self.send_response(404)
self.send_header("Content-Type", "text/html; charset=utf-8")
self.send_header("Content-Length", str(len(data)))
self.end_headers()
if self.command != "HEAD":
self.wfile.write(data)
def _maybe_redirect(self) -> bool:
path, query = self._parts()
if path in ("/services/odoo", "/services/odoo/", "/services/odoo.html"):
self._redirect("/services/erp" + query)
return True
if path in ("/index.html", "/index"):
self._redirect("/" + query)
return True
@ -51,26 +86,62 @@ class CleanURLHandler(SimpleHTTPRequestHandler):
self._redirect(clean + query)
return True
# /services/ → /services (same as Apache — trailing slash breaks relative CSS)
if path == "/services/":
self._redirect("/services" + query)
# Trailing slash on pages (and /services/) → slashless URL
if path != "/" and path.endswith("/"):
self._redirect(path.rstrip("/") + query)
return True
return False
def _handle_php(self) -> bool:
path, _query = self._parts()
clean = path.rstrip("/") or "/"
if not clean.endswith(".php"):
return False
if clean.endswith("/api/helpers.php") or clean == "/helpers.php":
self.send_error(403, "Forbidden")
return True
if self.command == "POST":
self.send_error(501, "PHP is not available on the local static server")
return True
self._json(405, {"ok": False, "error": "Method not allowed."})
return True
def do_GET(self):
if self._maybe_redirect():
return
if self._handle_php():
return
translated = Path(self.translate_path(self.path))
if not self._is_servable(translated):
self._serve_404()
return
return super().do_GET()
def do_HEAD(self):
if self._maybe_redirect():
return
if self._handle_php():
return
translated = Path(self.translate_path(self.path))
if not self._is_servable(translated):
self._serve_404()
return
return super().do_HEAD()
def do_POST(self):
if self._handle_php():
return
self.send_error(501, "Unsupported method")
def _is_servable(self, translated: Path) -> bool:
if translated.is_file():
return True
# Directory with index.html (site root /)
return translated.is_dir() and (translated / "index.html").is_file()
def list_directory(self, path):
# Never show raw directory indexes
self.send_error(404, "Not found")
self._serve_404()
return None
def translate_path(self, path: str) -> str:
@ -93,6 +164,8 @@ class CleanURLHandler(SimpleHTTPRequestHandler):
def end_headers(self):
self.send_header("Cache-Control", "no-store")
for name, value in SECURITY_HEADERS:
self.send_header(name, value)
super().end_headers()
@ -119,9 +192,9 @@ def main() -> None:
raise SystemExit(1) from exc
raise
print(f"Serving {ROOT}")
print(f"Open http://127.0.0.1:{args.port}/services")
print("Press Ctrl+C to stop")
print(f"Serving {ROOT}", flush=True)
print(f"Open http://127.0.0.1:{args.port}/services", flush=True)
print("Press Ctrl+C to stop", flush=True)
try:
server.serve_forever()
except KeyboardInterrupt:

View File

@ -11,7 +11,7 @@
<meta property="og:title" content="Services | Zettai Systems" />
<meta property="og:description" content="Explore Zettai Systems services: web and mobile development, custom software, cloud, analytics, IT consulting, cybersecurity, ERP, and e-commerce." />
<meta property="og:url" content="https://zettaisystems.com/services" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Generative AI &amp; Agentic Workflows | Zettai Systems</title>
<meta name="description" content="Multi-agent orchestration, human-in-the-loop task routing, and custom tool calling for enterprise generative AI workflows." />
@ -11,14 +11,14 @@
<meta property="og:title" content="Generative AI &amp; Agentic Workflows | Zettai Systems" />
<meta property="og:description" content="Multi-agent orchestration, human-in-the-loop task routing, and custom tool calling." />
<meta property="og:url" content="https://zettaisystems.com/services/agentic-ai" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -211,9 +211,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>AI Governance | Zettai Systems</title>
<meta name="description" content="AI guardrails, evaluation, and audit trails so enterprise AI features stay inspectable. Practices aligned with policy—not unverified certification claims." />
@ -11,14 +11,14 @@
<meta property="og:title" content="AI Governance | Zettai Systems" />
<meta property="og:description" content="Guardrails, evaluation, and telemetry for enterprise AI—inspectable by default." />
<meta property="og:url" content="https://zettaisystems.com/services/ai-governance" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -211,9 +211,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Custom AI Microservices &amp; APIs | Zettai Systems</title>
<meta name="description" content="Low-latency Python FastAPI and Node.js inference endpoints, model routing, and fallback cascades for enterprise AI." />
@ -11,14 +11,14 @@
<meta property="og:title" content="Custom AI Microservices &amp; APIs | Zettai Systems" />
<meta property="og:description" content="FastAPI and Node.js inference endpoints with model routing and fallback cascades." />
<meta property="og:url" content="https://zettaisystems.com/services/ai-microservices" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -188,9 +188,9 @@
</main>
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Cloud, MLOps &amp; QA Engineering | Zettai Systems</title>
<meta name="description" content="AWS Bedrock, Azure OpenAI, and GCP Vertex integrations, Docker/Kubernetes delivery, and automated regression testing from Zettai Systems." />
@ -11,14 +11,14 @@
<meta property="og:title" content="Cloud, MLOps &amp; QA Engineering | Zettai Systems" />
<meta property="og:description" content="Cloud AI integrations, Docker/Kubernetes delivery, and automated regression testing." />
<meta property="og:url" content="https://zettaisystems.com/services/cloud-integration" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -221,9 +221,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Custom Software Development | Zettai Systems</title>
<meta name="description" content="Custom software development for unique business processes—scalable systems designed and built by Zettai Systems." />
@ -11,14 +11,14 @@
<meta property="og:title" content="Custom Software Development | Zettai Systems" />
<meta property="og:description" content="Custom software development for unique business processes—scalable systems designed and built by Zettai Systems." />
<meta property="og:url" content="https://zettaisystems.com/services/custom-software" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -221,9 +221,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Cybersecurity | Zettai Systems</title>
<meta name="description" content="Application and infrastructure security practices from Zettai Systems—protect systems, APIs, and data thoughtfully." />
@ -11,14 +11,14 @@
<meta property="og:title" content="Cybersecurity | Zettai Systems" />
<meta property="og:description" content="Application and infrastructure security practices from Zettai Systems—protect systems, APIs, and data thoughtfully." />
<meta property="og:url" content="https://zettaisystems.com/services/cybersecurity" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -221,9 +221,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Data Analytics | Zettai Systems</title>
<meta name="description" content="Data analytics services from Zettai Systems—turn operational data into clear insights and better decisions." />
@ -11,14 +11,14 @@
<meta property="og:title" content="Data Analytics | Zettai Systems" />
<meta property="og:description" content="Data analytics services from Zettai Systems—turn operational data into clear insights and better decisions." />
<meta property="og:url" content="https://zettaisystems.com/services/data-analytics" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -221,9 +221,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>E-Commerce Solutions | Zettai Systems</title>
<meta name="description" content="Scalable e-commerce platforms and digital commerce solutions from Zettai Systems—storefronts, checkout, and integrations." />
@ -11,14 +11,14 @@
<meta property="og:title" content="E-Commerce Solutions | Zettai Systems" />
<meta property="og:description" content="Scalable e-commerce platforms and digital commerce solutions from Zettai Systems—storefronts, checkout, and integrations." />
<meta property="og:url" content="https://zettaisystems.com/services/ecommerce" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -221,9 +221,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Domain RAG &amp; Enterprise Search | Zettai Systems</title>
<meta name="description" content="Hybrid semantic and lexical search over proprietary documentation, PDFs, and relational stores—with citations and access control." />
@ -11,14 +11,14 @@
<meta property="og:title" content="Domain RAG &amp; Enterprise Search | Zettai Systems" />
<meta property="og:description" content="Hybrid semantic and lexical search over documents, PDFs, and relational stores." />
<meta property="og:url" content="https://zettaisystems.com/services/enterprise-rag" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -211,9 +211,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>ERP Solutions | Zettai Systems</title>
<meta name="description" content="ERP implementation, customization, integration, and business automation services from Zettai Systems." />
@ -11,14 +11,14 @@
<meta property="og:title" content="ERP Solutions | Zettai Systems" />
<meta property="og:description" content="ERP implementation, customization, integration, and business automation services from Zettai Systems." />
<meta property="og:url" content="https://zettaisystems.com/services/erp" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -221,9 +221,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Intelligent Process Automation | Zettai Systems</title>
<meta name="description" content="AI-assisted ERP workflows, automated document intelligence, and smart approval triage from Zettai Systems." />
@ -11,14 +11,14 @@
<meta property="og:title" content="Intelligent Process Automation | Zettai Systems" />
<meta property="og:description" content="AI-assisted ERP workflows, document intelligence, and smart approval triage." />
<meta property="og:url" content="https://zettaisystems.com/services/intelligent-process-automation" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -188,9 +188,9 @@
</main>
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>IT Consulting | Zettai Systems</title>
<meta name="description" content="IT consulting, architecture planning, and digital transformation guidance from Zettai Systems." />
@ -11,14 +11,14 @@
<meta property="og:title" content="IT Consulting | Zettai Systems" />
<meta property="og:description" content="IT consulting, architecture planning, and digital transformation guidance from Zettai Systems." />
<meta property="og:url" content="https://zettaisystems.com/services/it-consulting" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -221,9 +221,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>High-Performance Mobile (Flutter) | Zettai Systems</title>
<meta name="description" content="Cross-platform native-quality iOS and Android apps on Flutter, connected to AI services with offline caching." />
@ -11,14 +11,14 @@
<meta property="og:title" content="High-Performance Mobile (Flutter) | Zettai Systems" />
<meta property="og:description" content="Cross-platform native-quality iOS and Android apps connected to AI services with offline caching." />
<meta property="og:url" content="https://zettaisystems.com/services/mobile-development" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -221,9 +221,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8" />
<script src="../js/analytics.js"></script>
<script src="/js/analytics.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Modern Full-Stack Web Platforms | Zettai Systems</title>
<meta name="description" content="High-throughput web applications, enterprise dashboards, and customer self-service portals from Zettai Systems." />
@ -11,14 +11,14 @@
<meta property="og:title" content="Modern Full-Stack Web Platforms | Zettai Systems" />
<meta property="og:description" content="High-throughput web applications, enterprise dashboards, and customer self-service portals." />
<meta property="og:url" content="https://zettaisystems.com/services/web-development" />
<meta property="og:image" content="../assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="../assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="../assets/logos/icon-square.png" />
<link rel="stylesheet" href="../css/bootstrap.min.css" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" />
<link rel="stylesheet" href="../css/aos.css" />
<link rel="stylesheet" href="../css/style.css" />
<link rel="stylesheet" href="/css/aos.css" />
<link rel="stylesheet" href="/css/style.css" />
<script>
(function () {
try {
@ -26,7 +26,7 @@
if (!t) t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
document.documentElement.setAttribute("data-theme", t);
var icon = document.querySelector('link[rel="icon"]');
if (icon) icon.href = "../assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
if (icon) icon.href = "/assets/logos/" + (t === "dark" ? "favicon-dark.png" : "favicon.png");
} catch (e) {}
})();
</script>
@ -221,9 +221,9 @@
<div id="site-footer"></div>
<script>window.SITE_ROOT = "../";</script>
<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/aos.js"></script>
<script src="../js/main.js"></script>
<script>window.SITE_ROOT = "";</script>
<script src="/js/bootstrap.bundle.min.js"></script>
<script src="/js/aos.js"></script>
<script src="/js/main.js"></script>
</body>
</html>

View File

@ -13,6 +13,7 @@
<url><loc>https://zettaisystems.com/services/agentic-ai</loc></url>
<url><loc>https://zettaisystems.com/services/enterprise-rag</loc></url>
<url><loc>https://zettaisystems.com/services/ai-microservices</loc></url>
<url><loc>https://zettaisystems.com/services/ai-governance</loc></url>
<url><loc>https://zettaisystems.com/services/intelligent-process-automation</loc></url>
<url><loc>https://zettaisystems.com/services/mobile-development</loc></url>
<url><loc>https://zettaisystems.com/services/custom-software</loc></url>

View File

@ -11,7 +11,7 @@
<meta property="og:title" content="Solutions | Zettai Systems" />
<meta property="og:description" content="Digital transformation, business automation, enterprise solutions, and e-commerce platforms from Zettai Systems." />
<meta property="og:url" content="https://zettaisystems.com/solutions" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />

View File

@ -11,7 +11,7 @@
<meta property="og:title" content="Terms & Conditions | Zettai Systems" />
<meta property="og:description" content="Terms and conditions governing use of the Zettai Systems website and related online materials." />
<meta property="og:url" content="https://zettaisystems.com/terms" />
<meta property="og:image" content="/assets/logos/icon-square.png" />
<meta property="og:image" content="https://zettaisystems.com/assets/logos/icon-square.png" />
<meta name="theme-color" content="#005498" />
<link rel="icon" href="/assets/logos/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/assets/logos/icon-square.png" />