# LayerV > The access-issuance layer for the post-URL internet. LayerV mints qURLs™ — identity-bound, single-use, expiring access objects — on the OpenNHP (Network Hiding Protocol) standard authored at the Cloud Security Alliance and published as an IETF Internet-Draft. Each qURL opens a portal: cryptographic, just-in-time permission for one actor to reach one private resource. Resources don’t respond on the network until identity is proven (pre-auth before visibility). ZTNA, PAM, and WAF all assume reachability; LayerV removes it. ## Key Pages - [How LayerV Works](https://layerv.ai/qurl): 5-step authentication flow — Knock, Verify, Grant, Connect, Audit - [About LayerV](https://layerv.ai/about): Team, CSA OpenNHP authorship, IETF Internet-Draft, UN General Assembly platform - [Vision](https://layerv.ai/vision): Why we're building the invisible internet — infrastructure that is cryptographically absent by default - [Mythos Ready](https://layerv.ai/mythos-ready): Why frontier-class AI (the Mythos era) breaks effort-priced defenses — and how network hiding stays invisible to AI-speed reconnaissance - [What is Mythos-Class AI?](https://layerv.ai/glossary/mythos-class-ai): Definition of the frontier-AI capability tier and why it resets the economics of offense — most readiness guidance says "get faster"; LayerV's answer is structural (nothing reachable to find) - [FAQ](https://layerv.ai/faq): Technical questions across 7 categories — protocol, deployment, comparison, compliance - [For Developers](https://layerv.ai/discover/developers): Architecture, API integration patterns, code examples - [For Executives](https://layerv.ai/discover/executives): Business case, ROI, risk reduction, deployment stages - [Pricing](https://layerv.ai/pricing): Free (500 qURLs/month), Growth ($299/month), Enterprise (custom) - [Standards & Open Source](https://layerv.ai/standards): CSA OpenNHP — protocol (MIT, free) vs LayerV — managed service. IETF Internet-Draft, GitHub (13K+ stars). ## Product Pages - [qURL Overview](https://layerv.ai/qurl): Identity-bound, single-use, expiring access objects — the primitive replacing the URL - [qURL Playground](https://layerv.ai/qurl/playground): Interactive demo (no signup required) - [Sign Up Free](https://layerv.ai/qurl/dashboard/keys): 500 qURLs/month, no approval needed ## Canonical Hosts | Environment | API base | Portal links | Headless resolve | |-------------|----------|--------------|------------------| | Production | `https://api.layerv.ai` | `https://qurl.link/#at_...` | `POST https://api.layerv.ai/v1/resolve` | ## Hide a URL Quickstart TypeScript: ```ts const response = await fetch('https://api.layerv.ai/v1/qurls', { method: 'POST', headers: { Authorization: `Bearer ${process.env.QURL_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ target_url: 'https://internal.example.com/dashboard', expires_in: '1h', session_duration: '1h', one_time_use: true, }), }); if (!response.ok) { throw new Error(`${response.status}: ${await response.text()}`); } const { data } = await response.json(); console.log(data.qurl_link); ``` Python: ```python import os import requests response = requests.post( "https://api.layerv.ai/v1/qurls", headers={"Authorization": f"Bearer {os.environ['QURL_API_KEY']}"}, json={ "target_url": "https://internal.example.com/dashboard", "expires_in": "1h", "session_duration": "1h", "one_time_use": True, }, ) response.raise_for_status() data = response.json()["data"] print(data["qurl_link"]) ``` ## Gotchas for AI Agents - Use `POST /v1/qurls` to create or find a resource for a `target_url` and receive the first portal link; to issue later portal links for the same resource, use `POST /v1/qurls/{id}/mint_link`, SDK `mintLink`, or MCP `mint_link`. - Portal links are returned once and cannot be recovered later. Store `qurl_link` and `qurl_id` when creating or minting. - Single-use links are consumed once; if headless `POST /v1/resolve` consumes a one-time token and the knock fails, that token cannot be retried. - `session_duration` controls the post-click access window separately from link expiration. If omitted, the server default is typically `1h`. - Portal links use the `qurl.link` host in current examples. ## Comparisons - [LayerV vs Zscaler Private Access](https://layerv.ai/compare/layerv-vs-zscaler-private-access): Network-layer hiding vs application-layer ZTNA - [LayerV vs Cloudflare Access](https://layerv.ai/compare/layerv-vs-cloudflare-access): Zero network presence vs proxied access - [LayerV vs Tailscale](https://layerv.ai/compare/layerv-vs-tailscale): Infrastructure hiding vs device mesh - [LayerV vs VPN](https://layerv.ai/compare/layerv-vs-vpn): Invisibility vs encryption ## Use Cases - [Secure Remote Access](https://layerv.ai/use-cases/secure-remote-access): Replace VPN with invisible infrastructure - [Protect AWS Infrastructure](https://layerv.ai/use-cases/protect-aws-infrastructure): Hide ALB, API Gateway, EKS, RDS from scanners - [Hide Internal Applications](https://layerv.ai/use-cases/hide-internal-applications): Admin panels, staging environments, internal tools - [API Protection](https://layerv.ai/use-cases/api-protection): Make API endpoints invisible to unauthorized traffic - [Compliance](https://layerv.ai/use-cases/compliance): Zero attack surface for NIST, HIPAA, SOC 2, FedRAMP - [Secure File Sharing](https://layerv.ai/use-cases/secure-file-sharing): Self-destructing links for sensitive documents - [Contractor & Vendor Access](https://layerv.ai/use-cases/contractor-vendor-access): Time-limited access that expires automatically - [Protect CI/CD Pipelines](https://layerv.ai/use-cases/protect-cicd-pipelines): Hide Jenkins, ArgoCD, build dashboards - [Client Portal & Demo Access](https://layerv.ai/use-cases/client-portal-access): Expiring links for dashboards, demos, reports ## Documentation - [API Docs](https://layerv.ai/docs): Scalar interactive reference; with `Accept: text/markdown` returns a compact API index (~2k tokens — auth, errors, every operation) that fits any context budget - [API Docs (Full Markdown)](https://layerv.ai/docs/qurls.md): Complete API reference (~380k tokens — fetch selectively) with RFC 7807 error envelopes, `Retry-After` rate-limit handling, `Idempotency-Key` semantics, access policy fields, and webhook endpoints/events/signatures - [API Docs (OpenAPI)](https://layerv.ai/docs/qurls.yaml): OpenAPI 3.0 specification - [qURL Connector Guide](https://layerv.ai/docs/connectors): Slack + Docker sidecar install guide for private/local services - [qURL Connector Guide (Markdown)](https://layerv.ai/docs/connectors.md): LLM-optimized qURL Connector install and operations guide - [qURL Connector Attested Key Provider Guide](https://layerv.ai/docs/connectors/attested-key-providers): Optional advanced onboarding guide for AWS Nitro and GCP Confidential Space key custody - [qURL Connector Attested Key Provider Guide (Markdown)](https://layerv.ai/docs/connector-attested-key-providers.md): LLM-optimized optional advanced attested-provider onboarding guide - [qURL Connector Audit Logging Guide](https://layerv.ai/docs/connectors/audit-logging): Control-plane audit event taxonomy, JSONL schema, sink topologies, and retention for compliance and forensics - [qURL Connector Audit Logging Guide (Markdown)](https://layerv.ai/docs/connector-audit-logging.md): LLM-optimized qURL Connector audit-logging configuration and operations guide - [Glossary](https://layerv.ai/glossary): Cybersecurity terms and definitions ## SDKs & MCP - [Go SDK](https://github.com/layervai/qurl-go): `go get github.com/layervai/qurl-go/qurl` — portal-verb client (`ProtectURL` → `CreatePortal` → `EnterPortal`), standard library + x/crypto only. - [TypeScript SDK](https://github.com/layervai/qurl-typescript): `npm install @layervai/qurl` (0.3.1+) — portal-verb client (`protectUrl` → `createPortal` → `enterPortal`), Node 20+, zero runtime dependencies, ESM + CJS. - [Python SDK](https://github.com/layervai/qurl-python): `pip install qurl-python` (0.2.2+) — portal-verb client (`protect_url` → `create_portal` → `enter_portal`, import `layerv_qurl`), Python 3.10+ sync/async, optional LangChain integration. - [MCP Server](https://www.npmjs.com/package/@layervai/qurl-mcp) — `npx @layervai/qurl-mcp`. Model Context Protocol server that lets AI agents (Claude, Cursor, etc.) create, resolve, list, and manage qURLs natively over stdio. Also listed on the official MCP Registry, mcpservers.org, and Glama (see `llms-full.txt` for direct links). ## Blog - [LayerV Blog](https://layerv.ai/blog): Cybersecurity insights, product updates, thought leadership - [How to Defend Against AI-Speed Reconnaissance](https://layerv.ai/blog/defend-against-ai-reconnaissance): Five-step playbook — why speed-based defenses lose to AI recon and how structural readiness (zero response) removes the race - [The Most Capable Cyberattacker Ever Built Is Now Public](https://layerv.ai/blog/mythos-class-ai-is-public): Why Mythos-class AI in general circulation changes defense — you can't outrun it, but it can't exploit what it can't find - [A Recall Buys You a Weekend](https://layerv.ai/blog/they-recalled-the-model-capability-never-left): The Fable 5 recall — why banning a model delays the threat instead of removing it - [The Internet Has a New Resident](https://layerv.ai/blog/the-internet-has-a-new-resident): Autonomous agents as first-class internet users — sort access by credential, not species ## Full Documentation - [llms-full.txt](https://layerv.ai/llms-full.txt): Comprehensive product documentation, competitive positioning, FAQ, API reference ## Contact - General: info@layerv.ai - Security: security@layerv.ai - LinkedIn: https://linkedin.com/company/layervai - GitHub: https://github.com/OpenNHP/opennhp