. A hardcoded title renders first and, since the HTML spec uses the first , would override every page's title in the initial SSR HTML. --> <script> // Desktop-only gate — runs before SvelteKit hydrates. // Spec: BROWSER_SUPPORT_POLICY.md §6 (function () { try { var path = window.location.pathname; // Only the interactive document tools are desktop-only; the marketing // landing, pricing, license, and legal pages are viewable on any device. var isToolRoute = path === '/app' || path.indexOf('/app/') === 0 || path === '/merge' || path.indexOf('/merge/') === 0; if (!isToolRoute) return; if (window.location.search.indexOf('force-desktop=true') !== -1) { try { sessionStorage.setItem('aegis-force-desktop', '1'); } catch (_) {} return; } if (sessionStorage.getItem('aegis-force-desktop') === '1') return; var ua = navigator.userAgent; var isMobileOrTablet = /Mobi|Android|iPhone|iPad|iPod/i.test(ua) || (window.matchMedia('(pointer: coarse)').matches && window.innerWidth < 1024) || (navigator.maxTouchPoints > 1 && window.innerWidth < 1280); if (isMobileOrTablet) { window.location.replace('/desktop-required'); } } catch (_) { // If detection throws, fail open — let the app load. } })(); </script> <script> // Theme (no-flash). Tool + activation pages are always light; elsewhere // honor the saved choice, falling back to the OS preference. (function () { try { var path = window.location.pathname; var isLightOnly = path === '/app' || path.indexOf('/app/') === 0 || path === '/merge' || path.indexOf('/merge/') === 0 || path === '/license' || path.indexOf('/license/') === 0; var el = document.documentElement; if (isLightOnly) { el.classList.add('light'); return; } var saved = localStorage.getItem('aegis-theme'); var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; if (saved === 'dark' || (!saved && prefersDark)) el.classList.add('dark'); else if (saved === 'light') el.classList.add('light'); } catch (e) {} })(); </script> %sveltekit.head% </head> <body data-sveltekit-preload-data="hover"> <div style="display: contents"><!--[--><!--[0--><!--[--><!--[-1--><div class="flex min-h-screen flex-col"><nav class="sticky top-0 z-40 border-b backdrop-blur" style="background-color: color-mix(in srgb, var(--color-bg) 82%, transparent); border-color: var(--color-border)"><div class="mx-auto max-w-6xl px-4 sm:px-6"><div class="flex h-16 items-center justify-between gap-4"><a href="/" class="flex items-center gap-2.5 no-underline" style="color: var(--color-text)"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="30" height="30" role="img" aria-label="AegisPDF"><title>AegisPDF AegisPDF

Your license

AegisPDF runs entirely on your device — your documents never leave the browser. Paste your Pro key below to unlock Pro features on this device.

Pro verifies online every few days and works offline in between. Each subscription activates up to 3 devices.

Status

No license saved — you're on the Free tier.

“Sign out this device” frees one of your 3 device slots so you can activate elsewhere. Need a key? See pricing.