<!DOCTYPE html>
<html lang="en-US" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>ZinTrust Docs</title>
    
    <meta name="generator" content="VitePress v1.6.4">
    <link rel="preload stylesheet" href="/assets/style.BYxfkhjQ.css" as="style">
    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
    
    <script type="module" src="/assets/app.Bx3FAqcE.js"></script>
    <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
    <link rel="modulepreload" href="/assets/chunks/framework.DVnVO3JI.js">
    <link rel="modulepreload" href="/assets/chunks/theme.D6Lpqudf.js">
    <link rel="modulepreload" href="/assets/index.md.DUU8LJWH.lean.js">
    <link rel="icon" href="/zintrust.svg">
    <meta name="theme-color" content="#38bdf8">
    <meta name="description" content="The zero-dependency TypeScript framework for high-performance APIs, clean architecture, and microservices. Node.js &amp; Cloudflare Workers compatible.">
    <meta name="keywords" content="ZinTrust, TypeScript, framework, backend, API, microservices, Cloudflare Workers, Node.js, zero-dependency, ORM, queue, cache, documentation">
    <meta name="robots" content="index, follow">
    <meta property="og:type" content="website">
    <meta property="og:site_name" content="ZinTrust">
    <meta property="og:locale" content="en_US">
    <meta property="og:image" content="https://zintrust.com/zintrust.svg">
    <meta property="og:image:width" content="512">
    <meta property="og:image:height" content="512">
    <meta name="twitter:card" content="summary">
    <meta name="twitter:site" content="@zintrustjs">
    <meta name="twitter:image" content="https://zintrust.com/zintrust.svg">
    <link id="zintrust-fonts-preconnect-googleapis" rel="preconnect" href="https://fonts.googleapis.com">
    <link id="zintrust-fonts-preconnect-gstatic" rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous">
    <link id="zintrust-fonts-stylesheet" rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&amp;family=JetBrains+Mono:wght@400;500&amp;display=swap">
    <meta name="theme-color" content="#38bdf8">
    <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
  </head>
  <body>
    <div id="app"><div style="position:relative;" data-v-d8b57b2d><div><div class="landing-page antialiased font-sans" data-v-01f0ddde><div class="mesh" data-v-01f0ddde></div><div class="noise" data-v-01f0ddde></div><main class="min-h-screen px-6 py-10 md:py-14 bg-white text-slate-900 dark:bg-ink dark:text-slate-100" data-v-01f0ddde><div class="mx-auto max-w-6xl" data-v-01f0ddde><header class="flex items-center justify-between gap-4" data-v-01f0ddde><a href="/" class="flex items-center gap-3" data-v-01f0ddde><span class="inline-flex h-10 w-10 items-center justify-center rounded-2xl border border-black/10 bg-black/5 dark:border-white/10 dark:bg-white/5" data-v-01f0ddde><img src="/zintrust.svg" alt="ZinTrust Logo" class="h-6 w-6" data-v-01f0ddde></span><div data-v-01f0ddde><div class="text-sm font-semibold" data-v-01f0ddde>ZinTrust</div><div class="text-xs text-slate-500 dark:text-slate-400" data-v-01f0ddde>Documentation</div></div></a><div class="flex items-center gap-3" data-v-01f0ddde><a href="https://github.com/ZinTrust/ZinTrust" class="text-sm font-semibold text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white" target="_blank" data-v-01f0ddde> GitHub </a><button class="inline-flex items-center gap-2 rounded-2xl border border-black/10 bg-black/5 px-4 py-2 text-sm font-semibold text-slate-700 hover:bg-black/10 dark:border-white/10 dark:bg-white/5 dark:text-slate-200 dark:hover:bg-white/10" type="button" data-v-01f0ddde><!----><span class="hidden sm:inline" data-v-01f0ddde>Theme</span></button></div></header><section class="mt-12 grid grid-cols-1 gap-10 lg:grid-cols-2 lg:items-center" data-v-01f0ddde><div data-v-01f0ddde><div class="inline-flex items-center gap-2 rounded-full border border-black/10 bg-black/5 px-4 py-2 text-xs font-bold tracking-widest text-slate-600 dark:border-white/10 dark:bg-white/5 dark:text-slate-300" data-v-01f0ddde><span class="h-2 w-2 rounded-full bg-secondary animate-floaty" data-v-01f0ddde></span> ZERO-DEPENDENCY • TYPESAFE • PRODUCTION-READY </div><h1 class="mt-6 text-5xl! md:text-6xl! font-extrabold! tracking-tight!" data-v-01f0ddde> Build fast backends with <span class="bg-clip-text text-transparent bg-[linear-gradient(90deg,#10b981,#0ea5e9,#10b981)] bg-size-[200%_200%] animate-shimmer" data-v-01f0ddde> ZinTrust </span></h1><p class="mt-5 text-lg leading-relaxed text-slate-600 dark:text-slate-300" data-v-01f0ddde> A zero-dependency TypeScript framework built for high-performance APIs, clean architecture, and microservices. Read the docs and ship. </p><div class="mt-8 grid grid-cols-1 sm:grid-cols-3 gap-4" data-v-01f0ddde><div class="rounded-2xl border border-black/10 bg-black/5 p-4 dark:border-white/10 dark:bg-white/5" data-v-01f0ddde><div class="text-xs font-bold text-slate-500 dark:text-slate-400" data-v-01f0ddde>Runtime</div><div class="mt-1 font-semibold" data-v-01f0ddde>Node http</div></div><div class="rounded-2xl border border-black/10 bg-black/5 p-4 dark:border-white/10 dark:bg-white/5" data-v-01f0ddde><div class="text-xs font-bold text-slate-500 dark:text-slate-400" data-v-01f0ddde>Core</div><div class="mt-1 font-semibold" data-v-01f0ddde>Zero deps</div></div><div class="rounded-2xl border border-black/10 bg-black/5 p-4 dark:border-white/10 dark:bg-white/5" data-v-01f0ddde><div class="text-xs font-bold text-slate-500 dark:text-slate-400" data-v-01f0ddde>DX</div><div class="mt-1 font-semibold" data-v-01f0ddde>ZinTrust CLI</div></div></div><div class="mt-10 flex flex-wrap gap-4" data-v-01f0ddde><a href="/getting-started" class="px-8 py-4 rounded-2xl bg-primary text-white font-bold text-lg hover:bg-primary/90 transition-all shadow-lg shadow-primary/20" data-v-01f0ddde> Start Reading </a><a href="https://github.com/ZinTrust/ZinTrust" class="px-8 py-4 rounded-2xl border border-black/10 bg-black/5 dark:border-white/10 dark:bg-white/5 font-bold text-lg hover:bg-black/10 dark:hover:bg-white/10 transition-all" target="_blank" data-v-01f0ddde> GitHub </a></div><div class="mt-12" data-v-01f0ddde><a href="/getting-started" class="lang-card group block" data-v-01f0ddde><div class="lang-card-inner glow-primary rounded-3xl border border-black/10 bg-white/60 p-8 shadow-sm dark:border-white/10 dark:bg-white/5 glass" data-v-01f0ddde><div class="flex items-center justify-between" data-v-01f0ddde><div data-v-01f0ddde><div class="text-xs font-bold tracking-widest text-slate-500 dark:text-slate-400" data-v-01f0ddde> DOCUMENTATION </div><div class="mt-2 text-3xl font-bold" data-v-01f0ddde>Start Reading</div><div class="mt-2 text-base text-slate-600 dark:text-slate-300" data-v-01f0ddde> Explore the zero-dependency TypeScript framework. </div></div><div class="h-16 w-16 rounded-2xl border border-primary/25 bg-primary/10 flex items-center justify-center text-primary" data-v-01f0ddde><img src="/zintrust.svg" alt="ZinTrust Logo" class="h-10 w-10" data-v-01f0ddde></div></div><div class="mt-8 flex items-center gap-2 text-primary text-lg font-bold" data-v-01f0ddde> Open Documentation <span class="transition-transform group-hover:translate-x-2" data-v-01f0ddde>→</span></div></div></a></div></div><div class="relative" data-v-01f0ddde><div class="rounded-3xl border border-black/10 bg-white/60 shadow-sm dark:border-white/10 dark:bg-white/5 glass overflow-hidden" data-v-01f0ddde><div class="flex items-center justify-between px-5 py-4 border-b border-black/10 dark:border-white/10" data-v-01f0ddde><div class="flex items-center gap-2" data-v-01f0ddde><span class="h-3 w-3 rounded-full bg-red-500/60" data-v-01f0ddde></span><span class="h-3 w-3 rounded-full bg-amber-500/60" data-v-01f0ddde></span><span class="h-3 w-3 rounded-full bg-emerald-500/60" data-v-01f0ddde></span></div><div class="text-[10px] font-mono font-bold tracking-widest text-slate-500 dark:text-slate-400" data-v-01f0ddde>TERMINAL — QUICKSTART</div><button type="button" class="rounded-xl border border-black/10 bg-black/5 px-3 py-1.5 text-xs font-bold text-slate-600 hover:bg-black/10 dark:border-white/10 dark:bg-white/5 dark:text-slate-300 dark:hover:bg-white/10" data-v-01f0ddde>Copy</button></div><div class="px-5 pt-4 pb-2 flex gap-2" data-v-01f0ddde><!--[--><button class="tab-active tab px-3 py-1.5 rounded-xl border border-black/10 bg-black/5 text-xs font-bold text-slate-700 dark:border-white/10 dark:bg-white/5 dark:text-slate-200" type="button" data-v-01f0ddde>Setup</button><button class="tab px-3 py-1.5 rounded-xl border border-black/10 bg-black/5 text-xs font-bold text-slate-700 dark:border-white/10 dark:bg-white/5 dark:text-slate-200" type="button" data-v-01f0ddde>Deploy (Docker)</button><!--]--></div><div class="p-5 font-mono text-sm leading-relaxed" data-v-01f0ddde><div class="text-slate-500 dark:text-slate-400" data-v-01f0ddde> $ <span data-v-01f0ddde></span><span class="caret" data-v-01f0ddde></span></div><div class="mt-4 text-xs text-slate-500 dark:text-slate-400" data-v-01f0ddde>Tip: run the health check to verify your service is up.</div></div></div><div class="mt-6 grid grid-cols-1 sm:grid-cols-2 gap-4" data-v-01f0ddde><div class="rounded-2xl border border-black/10 bg-black/5 p-4 dark:border-white/10 dark:bg-white/5" data-v-01f0ddde><div class="text-xs font-bold text-slate-500 dark:text-slate-400" data-v-01f0ddde>Health</div><div class="mt-2 font-mono text-sm text-slate-700 dark:text-slate-200" data-v-01f0ddde> GET /health </div></div><div class="rounded-2xl border border-black/10 bg-black/5 p-4 dark:border-white/10 dark:bg-white/5" data-v-01f0ddde><div class="text-xs font-bold text-slate-500 dark:text-slate-400" data-v-01f0ddde>Debug</div><div class="mt-2 font-mono text-sm text-slate-700 dark:text-slate-200" data-v-01f0ddde> zin debug </div></div></div></div></section><footer class="mt-14 flex flex-col md:flex-row items-center justify-between gap-4 border-t border-black/10 pt-8 text-sm text-slate-500 dark:border-white/10 dark:text-slate-400" data-v-01f0ddde><div data-v-01f0ddde>© 2026 Zintrust Framework. All rights reserved.</div><div class="flex flex-wrap justify-center gap-x-5 gap-y-2 font-semibold" data-v-01f0ddde><a class="hover:text-slate-900 dark:hover:text-white" href="/getting-started" data-v-01f0ddde>Docs</a><a class="hover:text-slate-900 dark:hover:text-white" href="https://github.com/ZinTrust/ZinTrust" target="_blank" data-v-01f0ddde>GitHub</a><a class="hover:text-slate-900 dark:hover:text-white" href="https://x.com/zintrust" target="_blank" data-v-01f0ddde>X</a><a class="hover:text-slate-900 dark:hover:text-white" href="https://discord.gg/zintrust" target="_blank" data-v-01f0ddde>Discord</a><a class="hover:text-slate-900 dark:hover:text-white" href="https://slack.zintrust.com" target="_blank" data-v-01f0ddde>Slack</a><a class="hover:text-slate-900 dark:hover:text-white" href="https://linkedin.com/company/zintrust" target="_blank" data-v-01f0ddde>LinkedIn</a></div></footer></div></main></div></div></div></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"adapters.md\":\"CU4kx2z3\",\"advanced-email-job-service.md\":\"Dyjn6-Zy\",\"advanced-queue-patterns.md\":\"B9NK8Vlv\",\"api-versioning-and-breaking-changes.md\":\"BsWnMPSo\",\"architecture-boundaries.md\":\"CXDbehto\",\"architecture-producer-consumer.md\":\"CKN5biMe\",\"architecture.md\":\"CmvWOuvK\",\"authentication.md\":\"DD3kcBw6\",\"broadcast.md\":\"BJ1FqC1R\",\"bulletproof-auth.md\":\"BecQ8XAS\",\"cache.md\":\"Boh7ekG3\",\"change-log.md\":\"i4DOXQxz\",\"cli-governance.md\":\"Vy-wWNKT\",\"cli-guide.md\":\"DMR2loFy\",\"cli-reference.md\":\"DKCtF72m\",\"cli-version-check.md\":\"i-gv3OPC\",\"cloud-deployment.md\":\"PDyq02JO\",\"cloudflare-d1-remote.md\":\"Bk6OQ7ir\",\"cloudflare-databases.md\":\"nioihjab\",\"cloudflare-kv-remote.md\":\"D5j9UlVK\",\"cloudflare-limitations.md\":\"BbxNSpxu\",\"cloudflare-mysql-proxy.md\":\"DX6dKaU9\",\"cloudflare-packed-secrets.md\":\"x1ZDHuAB\",\"cloudflare.md\":\"COoOOS_v\",\"config-app.md\":\"BSj2xGCZ\",\"config-broadcast.md\":\"CncZaajG\",\"config-cache.md\":\"CwfagNGs\",\"config-cloudflare.md\":\"DKPlyHTc\",\"config-constants.md\":\"tOJfzuNs\",\"config-database.md\":\"B4PMKv3T\",\"config-env.md\":\"D4IqbREF\",\"config-features.md\":\"DMwCAqPn\",\"config-file-log-writer.md\":\"BrtplyG_\",\"config-index.md\":\"CVin3U4K\",\"config-logger.md\":\"vGd27vFK\",\"config-logging-http-logger.md\":\"BygGiLow\",\"config-logging-kv-logger.md\":\"BMAbYMxr\",\"config-logging-slack-logger.md\":\"hLk4_6PX\",\"config-mail.md\":\"C6vqCzQr\",\"config-microservices.md\":\"D1OtAiBx\",\"config-middleware.md\":\"PcnF6CzV\",\"config-notification.md\":\"6dfu-fOq\",\"config-queue.md\":\"Cy9g8dtg\",\"config-reference.md\":\"RaL1XcZi\",\"config-secrets-manager.md\":\"Hq7jgF8H\",\"config-security.md\":\"aNyZNO2g\",\"config-startup-config-validator.md\":\"DQu-NYQ9\",\"config-startup.md\":\"Bdjbp5Bw\",\"config-storage.md\":\"DEYpaiR7\",\"config-type.md\":\"B1Xpqkof\",\"configuration.md\":\"B4SEz4VE\",\"contributing-workers.md\":\"CuQmjqR6\",\"contributing.md\":\"D9eYp7pu\",\"controllers.md\":\"vWoRYCft\",\"database-advanced.md\":\"BojN0aQ0\",\"database-strategy.md\":\"DKoRUHP_\",\"deployment.md\":\"u3P4zcz1\",\"docker-hub-proxies.md\":\"BcsuMPh-\",\"docker-proxies.md\":\"B_hDuuyN\",\"docker-schedule-trace-runtimes.md\":\"MlyczPy8\",\"docker-workers.md\":\"Di5rPrdj\",\"docker.md\":\"CDllks6Y\",\"events.md\":\"DGvVyWhe\",\"first-api.md\":\"Dte1YuiX\",\"gateway-routing-architecture.md\":\"3CKsqwyb\",\"generators.md\":\"DzWnyl3L\",\"getting-started.md\":\"CJEXWHMj\",\"governance.md\":\"ca_6usXZ\",\"health-checks.md\":\"CWjxBdJy\",\"helpers.md\":\"DmViYlU4\",\"http-client.md\":\"jNEjesmT\",\"index.md\":\"DUU8LJWH\",\"installation.md\":\"DxBKGScA\",\"job-tracking-persistence.md\":\"C9wtR-yd\",\"jwk-jwt-verification.md\":\"asYeDQwI\",\"licensing.md\":\"HKxtH5gu\",\"linting-ci-gates.md\":\"BDl_byd4\",\"log-correlation.md\":\"B8tKWrQb\",\"logger-color-themes.md\":\"BbYM3eSz\",\"logging.md\":\"CdbDQFdP\",\"mail-templates.md\":\"BUiv0IqW\",\"mail.md\":\"BJU3_TzO\",\"markdown-templates.md\":\"DrVJn7VT\",\"metrics.md\":\"Rhd33gA3\",\"microservices-advanced.md\":\"DN8_Twig\",\"microservices-docker.md\":\"m7VsaQvd\",\"microservices-runtime-contract.md\":\"r_rO0epY\",\"microservices.md\":\"C5Brx5Kf\",\"middleware-failure-override.md\":\"vy4dmEna\",\"middleware.md\":\"DwqDUQFL\",\"migrations.md\":\"W1AE7lwc\",\"models.md\":\"BTK9Fe0p\",\"multi-database-index.md\":\"CwYsXlhX\",\"multi-database-quick-ref.md\":\"Dc4BiOoH\",\"multi-database.md\":\"Bcy84R4_\",\"multi-tenancy.md\":\"CVHA-JB2\",\"notification.md\":\"PLKNJaQw\",\"observability.md\":\"CRemKPyH\",\"openapi.md\":\"Crbtf7VI\",\"opentelemetry.md\":\"BGLI83u_\",\"orm-advanced-relationships.md\":\"CvuFATIe\",\"package-cache-mongodb.md\":\"B5lSHO5h\",\"package-cache-redis.md\":\"l97cEI5T\",\"package-client-rds-data.md\":\"BFdKge6-\",\"package-cloudflare-containers-proxy.md\":\"CjWbFaR4\",\"package-cloudflare-d1-proxy.md\":\"DZNsVp6y\",\"package-cloudflare-kv-proxy.md\":\"3X9MMRmD\",\"package-d1-migrator.md\":\"BxbwxsNP\",\"package-db-d1.md\":\"7F5PL-7P\",\"package-db-mysql.md\":\"BzDW0doX\",\"package-db-postgres.md\":\"Zq6a-7po\",\"package-db-sqlite.md\":\"Sc0epiSb\",\"package-db-sqlserver.md\":\"B1R_FSJK\",\"package-expose.md\":\"CsRkGigk\",\"package-governance.md\":\"D8NlM5wB\",\"package-mail-mailgun.md\":\"DhcCOZF6\",\"package-mail-nodemailer.md\":\"BjYylRCY\",\"package-mail-sendgrid.md\":\"Y5af82ho\",\"package-mail-smtp.md\":\"CrfJfeBq\",\"package-queue-cloudflare.md\":\"sas0w2JT\",\"package-queue-monitor.md\":\"CeW7vx7Z\",\"package-queue-rabbitmq.md\":\"ZEtP-H5v\",\"package-queue-redis.md\":\"CpzjFWrx\",\"package-queue-sqs.md\":\"D49TYrFf\",\"package-redis-rpc.md\":\"C1jsLV_o\",\"package-signer.md\":\"NEX1NXzj\",\"package-socket.md\":\"DH-_mtr_\",\"package-storage-gcs.md\":\"CElB270R\",\"package-storage-r2.md\":\"BqmCXNY3\",\"package-storage-s3.md\":\"CdFj-lTq\",\"package-storage.md\":\"DHpf-O1g\",\"package-trace.md\":\"BUjp9Quk\",\"package-workers.md\":\"B7c4ZCwo\",\"password-reset.md\":\"2hq-5PzL\",\"performance.md\":\"Br2YB8n1\",\"plug-and-play-auth-login.md\":\"kTpzZBB6\",\"plug-and-play-context-loader.md\":\"BQ0_0WTQ\",\"plug-and-play-notification-composer.md\":\"DF6OyH1P\",\"plug-and-play-performance.md\":\"CoLIaTGs\",\"plug-and-play-secure-payload.md\":\"DKGEFZuv\",\"plug-and-play.md\":\"BLy6YxUX\",\"plugins.md\":\"CtFVCKLc\",\"profiling.md\":\"CfW56H1y\",\"project-structure.md\":\"Cx7raqNq\",\"proxy-custom-headers.md\":\"B-4KrHWX\",\"query-builder.md\":\"Cc4b-Sgs\",\"queue-monitor.md\":\"B99Tu4K4\",\"queue-prevention-mechanisms.md\":\"CFf82tr6\",\"queue.md\":\"B9dnu3PS\",\"rate-limiting.md\":\"DMVKad8W\",\"redis-key-manager-singleton.md\":\"CILMdmR8\",\"redis-pipelining.md\":\"DwNCzVE1\",\"redis-request-analysis-queue-monitor-workers.md\":\"BjZrqLDm\",\"request-context.md\":\"BB2PPivB\",\"request-typing-and-validation.md\":\"D5z6j9WG\",\"request.md\":\"B9nxpZXc\",\"route-metadata.md\":\"DlIZ-elY\",\"route-registry.md\":\"BEIB6b2T\",\"routing.md\":\"DyQ99YZd\",\"scaffolding-standards.md\":\"DChXu8Q-\",\"scheduling.md\":\"D4AzZ45_\",\"schema-to-openapi-mapping.md\":\"Cd3TDx9q\",\"security-middleware.md\":\"CLUhk8Cu\",\"security-sanitizer-bulletproof.md\":\"D7zbKy4B\",\"security.md\":\"BAfvCvHV\",\"seeding.md\":\"rDQtDeeK\",\"service-discovery.md\":\"Dr99UpEz\",\"storage.md\":\"C7CYrBTu\",\"streaming-file-uploads.md\":\"DRM29URp\",\"swagger-ui.md\":\"oaMY4xk0\",\"tasks-demo.md\":\"DEKGLkPS\",\"testing-http.md\":\"SXVppPI5\",\"testing-service-swaps.md\":\"DH8gAslp\",\"testing.md\":\"CgSBSPI3\",\"tracing.md\":\"cySmXgVH\",\"troubleshooting-workers.md\":\"B7PTJM9O\",\"typed-middleware-registry.md\":\"DIwHBriS\",\"validation.md\":\"C5NlQ4Bp\",\"worker-management.md\":\"Cg4YGf2c\",\"zintrust-core-cloudflare-204-null-body.md\":\"CjKbOZXt\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"ZinTrust Docs\",\"description\":\"The zero-dependency TypeScript framework documentation.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/zintrust.svg\",\"nav\":[{\"text\":\"Home\",\"link\":\"/\"},{\"text\":\"Guide\",\"link\":\"/getting-started\"}],\"sidebar\":[{\"text\":\"Getting Started\",\"collapsed\":false,\"items\":[{\"text\":\"Introduction\",\"link\":\"/getting-started\"},{\"text\":\"Installation\",\"link\":\"/installation\"},{\"text\":\"First API\",\"link\":\"/first-api\"},{\"text\":\"Demo: Tasks App (A-Z)\",\"link\":\"/tasks-demo\"},{\"text\":\"Architecture\",\"link\":\"/architecture\"},{\"text\":\"Configuration\",\"link\":\"/configuration\"},{\"text\":\"Contributing\",\"link\":\"/contributing\"},{\"text\":\"Licensing\",\"link\":\"/licensing\"}]},{\"text\":\"Configuration\",\"collapsed\":true,\"items\":[{\"text\":\"Config Reference\",\"link\":\"/config-reference\"},{\"text\":\"App\",\"link\":\"/config-app\"},{\"text\":\"Environment (Env)\",\"link\":\"/config-env\"},{\"text\":\"Cloudflare Packed Secrets\",\"link\":\"/cloudflare-packed-secrets\"},{\"text\":\"Constants\",\"link\":\"/config-constants\"},{\"text\":\"FeatureFlags\",\"link\":\"/config-features\"},{\"text\":\"Security\",\"link\":\"/config-security\"},{\"text\":\"Cloudflare\",\"link\":\"/config-cloudflare\"},{\"text\":\"Database\",\"link\":\"/config-database\"},{\"text\":\"Cache\",\"link\":\"/config-cache\"},{\"text\":\"Queue\",\"link\":\"/config-queue\"},{\"text\":\"Job Tracking Persistence\",\"link\":\"/job-tracking-persistence\"},{\"text\":\"Storage\",\"link\":\"/config-storage\"},{\"text\":\"Mail\",\"link\":\"/config-mail\"},{\"text\":\"Notification\",\"link\":\"/config-notification\"},{\"text\":\"Broadcast\",\"link\":\"/config-broadcast\"},{\"text\":\"Middleware\",\"link\":\"/config-middleware\"},{\"text\":\"Microservices\",\"link\":\"/config-microservices\"},{\"text\":\"Logger\",\"link\":\"/config-logger\"},{\"text\":\"Logger Color Themes\",\"link\":\"/logger-color-themes\"},{\"text\":\"FileLogWriter\",\"link\":\"/config-file-log-writer\"},{\"text\":\"HttpLogger\",\"link\":\"/config-logging-http-logger\"},{\"text\":\"KvLogger\",\"link\":\"/config-logging-kv-logger\"},{\"text\":\"SlackLogger\",\"link\":\"/config-logging-slack-logger\"},{\"text\":\"Startup\",\"link\":\"/config-startup\"},{\"text\":\"StartupConfigValidator\",\"link\":\"/config-startup-config-validator\"},{\"text\":\"SecretsManager\",\"link\":\"/config-secrets-manager\"},{\"text\":\"Config Exports (index)\",\"link\":\"/config-index\"},{\"text\":\"Config Types\",\"link\":\"/config-type\"}]},{\"text\":\"API Reference\",\"collapsed\":true,\"items\":[{\"text\":\"Authentication\",\"link\":\"/authentication\"},{\"text\":\"Bulletproof Auth\",\"link\":\"/bulletproof-auth\"},{\"text\":\"JWK and JWKS JWT Verification\",\"link\":\"/jwk-jwt-verification\"},{\"text\":\"Cache System\",\"link\":\"/cache\"},{\"text\":\"CLI Guide\",\"link\":\"/cli-guide\"},{\"text\":\"CLI Reference\",\"link\":\"/cli-reference\"},{\"text\":\"Database Migrations\",\"link\":\"/migrations\"},{\"text\":\"CLI Version Check\",\"link\":\"/cli-version-check\"},{\"text\":\"Controllers\",\"link\":\"/controllers\"},{\"text\":\"Database Seeding\",\"link\":\"/seeding\"},{\"text\":\"Events\",\"link\":\"/events\"},{\"text\":\"Helpers & Validators\",\"link\":\"/helpers\"},{\"text\":\"HTTP Client\",\"link\":\"/http-client\"},{\"text\":\"Mail Templates\",\"link\":\"/mail-templates\"},{\"text\":\"Markdown Templates\",\"link\":\"/markdown-templates\"},{\"text\":\"Middleware\",\"link\":\"/middleware\"},{\"text\":\"Middleware Failure Overrides\",\"link\":\"/middleware-failure-override\"},{\"text\":\"Models & ORM\",\"link\":\"/models\"},{\"text\":\"Advanced ORM Relationships\",\"link\":\"/orm-advanced-relationships\"},{\"text\":\"Plugin System\",\"link\":\"/plugins\"},{\"text\":\"Query Builder\",\"link\":\"/query-builder\"},{\"text\":\"Queue\",\"link\":\"/queue\"},{\"text\":\"Queue Prevention Mechanisms\",\"link\":\"/queue-prevention-mechanisms\"},{\"text\":\"Rate Limiting\",\"link\":\"/rate-limiting\"},{\"text\":\"Routing\",\"link\":\"/routing\"},{\"text\":\"Scheduling\",\"link\":\"/scheduling\"},{\"text\":\"Streaming File Uploads\",\"link\":\"/streaming-file-uploads\"},{\"text\":\"Testing\",\"link\":\"/testing\"},{\"text\":\"Tracing\",\"link\":\"/tracing\"},{\"text\":\"Validation\",\"link\":\"/validation\"}]},{\"text\":\"Microservices\",\"collapsed\":false,\"items\":[{\"text\":\"Microservices Guide\",\"link\":\"/microservices\"},{\"text\":\"Gateway Routing Architecture\",\"link\":\"/gateway-routing-architecture\"},{\"text\":\"Runtime Guide\",\"link\":\"/microservices-runtime-contract\"},{\"text\":\"Service Discovery\",\"link\":\"/service-discovery\"},{\"text\":\"Advanced Microservices\",\"link\":\"/microservices-advanced\"},{\"text\":\"Microservices Docker\",\"link\":\"/microservices-docker\"},{\"text\":\"Microservices Config\",\"link\":\"/config-microservices\"}]},{\"text\":\"Infrastructure\",\"collapsed\":true,\"items\":[{\"text\":\"Mail\",\"link\":\"/mail\"},{\"text\":\"Storage\",\"link\":\"/storage\"},{\"text\":\"Redis Key Manager Singleton\",\"link\":\"/redis-key-manager-singleton\"},{\"text\":\"Queue Monitor\",\"link\":\"/queue-monitor\"},{\"text\":\"Worker Management\",\"link\":\"/worker-management\"},{\"text\":\"Notifications\",\"link\":\"/notification\"},{\"text\":\"Broadcasting\",\"link\":\"/broadcast\"},{\"text\":\"Logging\",\"link\":\"/logging\"}]},{\"text\":\"Plug & Play\",\"collapsed\":false,\"items\":[{\"text\":\"Overview\",\"link\":\"/plug-and-play\"},{\"text\":\"Secure Payload\",\"link\":\"/plug-and-play-secure-payload\"},{\"text\":\"Auth & Login\",\"link\":\"/plug-and-play-auth-login\"},{\"text\":\"Notification Composer\",\"link\":\"/plug-and-play-notification-composer\"},{\"text\":\"Context Loader\",\"link\":\"/plug-and-play-context-loader\"},{\"text\":\"Performance Guide\",\"link\":\"/plug-and-play-performance\"}]},{\"text\":\"Advanced Topics\",\"collapsed\":true,\"items\":[{\"text\":\"Adapters & Drivers\",\"link\":\"/adapters\"},{\"text\":\"Advanced Email Job Service\",\"link\":\"/advanced-email-job-service\"},{\"text\":\"Advanced Queue Patterns\",\"link\":\"/advanced-queue-patterns\"},{\"text\":\"Architecture Producer Consumer\",\"link\":\"/architecture-producer-consumer\"},{\"text\":\"Multi-Database\",\"link\":\"/multi-database\"},{\"text\":\"Multi-Database Quick Ref\",\"link\":\"/multi-database-quick-ref\"},{\"text\":\"Multi-Database Index\",\"link\":\"/MULTI-DATABASE-INDEX\"},{\"text\":\"Database Strategy\",\"link\":\"/database-strategy\"},{\"text\":\"Performance\",\"link\":\"/performance\"},{\"text\":\"Profiling\",\"link\":\"/profiling\"},{\"text\":\"OpenTelemetry (Tracing)\",\"link\":\"/opentelemetry\"},{\"text\":\"Observability\",\"link\":\"/observability\"},{\"text\":\"Metrics (Prometheus)\",\"link\":\"/metrics\"},{\"text\":\"Log Correlation\",\"link\":\"/log-correlation\"},{\"text\":\"Health Checks\",\"link\":\"/health-checks\"},{\"text\":\"Database Advanced\",\"link\":\"/database-advanced\"},{\"text\":\"Generators\",\"link\":\"/generators\"},{\"text\":\"Deployment\",\"link\":\"/deployment\"},{\"text\":\"Cloud Deployment\",\"link\":\"/cloud-deployment\"},{\"text\":\"Cloudflare Integration\",\"link\":\"/cloudflare\"},{\"text\":\"Cloudflare D1 Remote\",\"link\":\"/cloudflare-d1-remote\"},{\"text\":\"Cloudflare Databases\",\"link\":\"/cloudflare-databases\"},{\"text\":\"Cloudflare KV Remote\",\"link\":\"/cloudflare-kv-remote\"},{\"text\":\"Cloudflare Limitations\",\"link\":\"/cloudflare-limitations\"},{\"text\":\"Cloudflare MySQL Proxy\",\"link\":\"/cloudflare-mysql-proxy\"},{\"text\":\"Proxy Custom Headers\",\"link\":\"/proxy-custom-headers\"},{\"text\":\"Docker\",\"link\":\"/docker\"},{\"text\":\"Docker Workers\",\"link\":\"/docker-workers\"},{\"text\":\"Docker Proxies\",\"link\":\"/docker-proxies\"},{\"text\":\"Docker Hub Proxies\",\"link\":\"/docker-hub-proxies\"},{\"text\":\"Docker: Schedule & Trace Runtimes\",\"link\":\"/docker-schedule-trace-runtimes\"}]},{\"text\":\"API Design\",\"collapsed\":true,\"items\":[{\"text\":\"Middleware\",\"link\":\"/middleware\"},{\"text\":\"Route Metadata\",\"link\":\"/route-metadata\"},{\"text\":\"Route Registry\",\"link\":\"/route-registry\"},{\"text\":\"Request\",\"link\":\"/request\"},{\"text\":\"Request typing & validation\",\"link\":\"/request-typing-and-validation\"},{\"text\":\"OpenAPI\",\"link\":\"/openapi\"},{\"text\":\"Swagger UI\",\"link\":\"/swagger-ui\"},{\"text\":\"Schema → OpenAPI Mapping\",\"link\":\"/schema-to-openapi-mapping\"},{\"text\":\"API Versioning\",\"link\":\"/api-versioning-and-breaking-changes\"}]},{\"text\":\"Testing Extras\",\"collapsed\":true,\"items\":[{\"text\":\"Testing HTTP\",\"link\":\"/testing-http\"},{\"text\":\"Testing Service Swaps\",\"link\":\"/testing-service-swaps\"},{\"text\":\"Troubleshooting Workers\",\"link\":\"/troubleshooting-workers\"}]},{\"text\":\"Contributing\",\"collapsed\":true,\"items\":[{\"text\":\"Contributing\",\"link\":\"/contributing\"},{\"text\":\"Contributing Workers\",\"link\":\"/contributing-workers\"},{\"text\":\"Licensing\",\"link\":\"/licensing\"}]},{\"text\":\"Request Context & Tenancy\",\"collapsed\":true,\"items\":[{\"text\":\"Request Context\",\"link\":\"/request-context\"},{\"text\":\"Multi-tenancy\",\"link\":\"/multi-tenancy\"}]},{\"text\":\"Governance\",\"collapsed\":true,\"items\":[{\"text\":\"Governance\",\"link\":\"/governance\"},{\"text\":\"Developer Docs Updates\",\"link\":\"/change-log\"},{\"text\":\"Linting & CI Gates\",\"link\":\"/linting-ci-gates\"},{\"text\":\"Scaffolding Standards\",\"link\":\"/scaffolding-standards\"},{\"text\":\"CLI Governance\",\"link\":\"/cli-governance\"},{\"text\":\"Architecture Boundaries\",\"link\":\"/architecture-boundaries\"}]},{\"text\":\"Security\",\"collapsed\":true,\"items\":[{\"text\":\"Security\",\"link\":\"/security\"},{\"text\":\"Security Middleware\",\"link\":\"/security-middleware\"},{\"text\":\"Security Sanitizer Bulletproof\",\"link\":\"/security-sanitizer-bulletproof\"},{\"text\":\"Password Reset\",\"link\":\"/password-reset\"}]},{\"text\":\"Packages\",\"collapsed\":false,\"items\":[{\"text\":\"Cache Adapters\",\"collapsed\":true,\"items\":[{\"text\":\"MongoDB Cache\",\"link\":\"/package-cache-mongodb\"},{\"text\":\"Redis Cache\",\"link\":\"/package-cache-redis\"}]},{\"text\":\"Database Adapters\",\"collapsed\":true,\"items\":[{\"text\":\"Cloudflare D1\",\"link\":\"/package-db-d1\"},{\"text\":\"MySQL\",\"link\":\"/package-db-mysql\"},{\"text\":\"PostgreSQL\",\"link\":\"/package-db-postgres\"},{\"text\":\"SQLite\",\"link\":\"/package-db-sqlite\"},{\"text\":\"SQL Server\",\"link\":\"/package-db-sqlserver\"}]},{\"text\":\"Mail Adapters\",\"collapsed\":true,\"items\":[{\"text\":\"Mailgun\",\"link\":\"/package-mail-mailgun\"},{\"text\":\"Nodemailer\",\"link\":\"/package-mail-nodemailer\"},{\"text\":\"SendGrid\",\"link\":\"/package-mail-sendgrid\"},{\"text\":\"SMTP\",\"link\":\"/package-mail-smtp\"}]},{\"text\":\"Queue Adapters\",\"collapsed\":true,\"items\":[{\"text\":\"Cloudflare Queues\",\"link\":\"/package-queue-cloudflare\"},{\"text\":\"Queue Monitor\",\"link\":\"/package-queue-monitor\"},{\"text\":\"RabbitMQ\",\"link\":\"/package-queue-rabbitmq\"},{\"text\":\"Redis Queue\",\"link\":\"/package-queue-redis\"},{\"text\":\"SQS\",\"link\":\"/package-queue-sqs\"}]},{\"text\":\"Storage Adapters\",\"collapsed\":true,\"items\":[{\"text\":\"Storage Core\",\"link\":\"/package-storage\"},{\"text\":\"Google Cloud Storage\",\"link\":\"/package-storage-gcs\"},{\"text\":\"Cloudflare R2\",\"link\":\"/package-storage-r2\"},{\"text\":\"Amazon S3\",\"link\":\"/package-storage-s3\"}]},{\"text\":\"Cloudflare Adapters\",\"collapsed\":true,\"items\":[{\"text\":\"Containers Proxy\",\"link\":\"/package-cloudflare-containers-proxy\"},{\"text\":\"D1 Proxy\",\"link\":\"/package-cloudflare-d1-proxy\"},{\"text\":\"KV Proxy\",\"link\":\"/package-cloudflare-kv-proxy\"}]},{\"text\":\"Core Packages\",\"collapsed\":true,\"items\":[{\"text\":\"D1 Migrator\",\"link\":\"/package-d1-migrator\"},{\"text\":\"RDS Data Client\",\"link\":\"/package-client-rds-data\"},{\"text\":\"Expose\",\"link\":\"/package-expose\"},{\"text\":\"Governance\",\"link\":\"/package-governance\"},{\"text\":\"Socket\",\"link\":\"/package-socket\"},{\"text\":\"Trace\",\"link\":\"/package-trace\"},{\"text\":\"Signer\",\"link\":\"/package-signer\"},{\"text\":\"Workers\",\"link\":\"/package-workers\"},{\"text\":\"Zedgi\",\"link\":\"/package-zedgi\"}]}]}],\"search\":{\"provider\":\"local\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/ZinTrust/ZinTrust\"},{\"icon\":\"twitter\",\"link\":\"https://x.com/zintrustjs\"},{\"icon\":\"discord\",\"link\":\"https://discord.gg/sEU2brHMQd\"},{\"icon\":\"slack\",\"link\":\"https://join.slack.com/t/zintrustjs/shared_invite/zt-3ljhlzn3n-H7jsI1n1bTXKYRu2FSRGag\"},{\"icon\":\"linkedin\",\"link\":\"https://linkedin.com/company/zintrustjs\"},{\"icon\":\"youtube\",\"link\":\"https://youtube.com/@zintrustjs\"},{\"icon\":\"reddit\",\"link\":\"https://reddit.com/r/zintrustjs\"}],\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2025 Zintrust Framework. All rights reserved.\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
    
  </body>
</html>