Docusaurus Shared Theme
A long, scrolly landing page that exercises the SPA cold-load anchor behavior. Click "Jump to Deploy" with a fresh tab to test that #deploy-overlay lands in the right place after hydration.
What this page is for
This is the test-site landing page. Its job is to be tall, so that anchor links to mid-page sections actually need real scrolling. The page also intentionally renders client-only content that grows the layout after hydration, which is what made the original cold-load anchor bug visible in the first place.
Don't read the words too closely. The point of this page is the shape: a hero, then enough sections to push the deploy anchor below the fold, then more sections after it. Treat it as ballast.
/#deploy-overlay in a fresh tab. With the fix in place, the page lands on the deploy section. Without the fix (revert useRehashOnLoadfrom NetFoundryLayout), the browser scrolls against the pre-hydration layout and the section ends up well below the viewport once client-only content expands.Why a long page
A short page can't reproduce the bug. The anchor target has to be far enough down that pre-hydration content height and post-hydration content height differ by more than the viewport.
Strong identities
Cryptographically verifiable identities instead of IP-based trust.
Identity-aware access
Fine-grained authorization with posture checks at connection time.
No open ports
Services vanish from the public internet, invisible to scanners.
Flexible integration
Tunnelers for existing apps or SDKs embedded directly into them.
Smart routing
Fabric routes traffic on the optimal secure path automatically.
End-to-end encryption
Libsodium-backed crypto keeps data secure all the way through.
Private DNS
Names resolve to overlay tunnels, not to IP addresses.
No port inference
Single-port transport prevents service fingerprinting.
Hydration-time layout shifter
The block below is the part that intentionally breaks naive hash scrolling. During SSR the window doesn't exist, so windowSize.width is 0. On the client, after hydration, the real window width is read and a much taller variant is rendered. The deploy anchor below moves down by hundreds of pixels in the process.
Detected width: SSR (0)
Filler section 1
More vertical space so the anchor target sits well below the initial viewport. This paragraph exists only to push pixels around. There is nothing clever here.
If you find yourself reading this paragraph, you have scrolled far enough that the bug repro is no longer the interesting thing in front of you. Go check the deploy anchor instead.
- Pixel-pushing bullet one.
- Pixel-pushing bullet two.
- Pixel-pushing bullet three.
Filler section 2
More vertical space so the anchor target sits well below the initial viewport. This paragraph exists only to push pixels around. There is nothing clever here.
If you find yourself reading this paragraph, you have scrolled far enough that the bug repro is no longer the interesting thing in front of you. Go check the deploy anchor instead.
- Pixel-pushing bullet one.
- Pixel-pushing bullet two.
- Pixel-pushing bullet three.
Deploy an overlay
This is the anchor target. When a cold tab opens /#deploy-overlay, the heading above should be at the top of the viewport (just under the navbar) once hydration settles.
Managed SaaS
Cloud-hosted and fully operated. No infra to manage. Mock destination -- this is the test-site.
Get startedSelf-hosted, supported
You host it, we support it. Ideal when regulated environments require local control.
Talk to usCommunity self-hosted
Roll your own with the docs and the community. Best path for tinkering and OSS deployments.
View quickstartsThree zero-trust models
Three flavors with different tradeoffs. The cards below also include client-conditional content (a side panel that only shows on wide viewports), so they contribute to the same hydration-time layout shift.
ZTNA
Zero Trust Network Access
Secures access to applications and services living in a trusted network zone.
- Works with existing solutions via an OpenZiti Router
- Network firewall in deny-by-default mode
- OS firewalls keep inbound port rules per service
ZTHA
Zero Trust Host Access
Extends zero trust to host-level communication. The common production model.
- Uses an OpenZiti Tunneler on the host
- Eliminates network-related trust
- Both network and OS firewalls in deny-by-default mode
ZTAA
Zero Trust Application Access
The strongest posture. Applications hold their own cryptographic identity.
- SDKs compiled into the application
- Process-to-process end-to-end encryption
- Trivializes multi-cloud and hybrid deployments
Filler section 3
More vertical space so the anchor target sits well below the initial viewport. This paragraph exists only to push pixels around. There is nothing clever here.
If you find yourself reading this paragraph, you have scrolled far enough that the bug repro is no longer the interesting thing in front of you. Go check the deploy anchor instead.
- Pixel-pushing bullet one.
- Pixel-pushing bullet two.
- Pixel-pushing bullet three.
That's the end of the page
If you're seeing this and you came in from /#deploy-overlay, scroll back up and confirm the deploy section is parked at the top of the viewport. If it isn't, the rehash fix isn't doing its job.