Skip to main content

qURL™

Temporary access
to one private resource.

Keep the app private behind an outbound connector, then share a bearer capability URL for that one resource. You set when it expires and how often it can be used; your app's sign-in still decides who someone is.

  • Keep the origin private

    Run the local app on loopback and connect outward.

    No inbound port
  • Resource-scoped

    A link grants access to one published resource.

    One resource
  • Time-limited

    Choose link expiry and supported use limits.

    Bounded access

How qURL Works

  • LayerV does this
  • Your app and LayerV share this
  • You deploy this
  1. Hide

    You deploy this

    Keep a local app on loopback or a private network and run the connector beside it. The connector reaches LayerV outbound; publishing does not close a separate public route your app already has.

  2. Create

    LayerV

    An authorized owner issues a bearer qURL for one published resource through the CLI, SDK, API, or an agent in Slack or an MCP client. Set a redemption deadline and supported use limits for the task.

  3. Verify

    Your app + LayerV

    The holder presents the link and LayerV checks the grant and supported access policy. A bearer link alone does not prove the opener’s identity; use your application sign-in when identity must be verified.

  4. Open

    LayerV

    A valid grant opens access to the published resource through the connector. The application still controls which actions its signed-in user or client may perform.

  5. Expire

    LayerV

    The link stops allowing new redemption after its expiry or use limit. An already-open session has a separate lifetime; revoke a link when the task ends early.

A URL is an address.
A qURL is a temporary access grant.

PropertyURLqURL
Default statePublic endpoint stays reachablePrivate when the origin stays private
Access flowReach the endpoint, then authenticateCheck the grant before opening access
The addressA public URL or IP anyone can hitA bearer access link for one resource
ReuseReusable until it changesOptional single-use limit
Who it’s forDepends on the appPeople and compatible agents

What a qURL is

  • A bearer capability URL for one published resource — whoever holds it can attempt to redeem it.
  • Resource-scoped: it permits access to one resource, not the surrounding network.
  • Time-limited: a redemption deadline, with single-use and session limits optional.
  • Revocable: an owner can revoke an individual link before its normal limits.

What a qURL is not

  • Not requester-bound by default: possession alone does not prove the opener's identity. Use application sign-in when identity matters.
  • Not action authorization: resource scope is not permission for every operation the application exposes.
  • Not a session: link expiry stops new redemption; an already-open session has its own lifetime.
  • Not a remote MCP data path: qURL ships local stdio MCP tools and does not document a stock remote Streamable HTTP path.

The link is temporary.
The resource's name is permanent.

Every resource you protect also has a CRID — a permanent name derived from its public key. It is not a secret, but the CRID of a public resource is enough to open it. It never changes when the resource moves, and anyone holding it can verify a delivered key against it with local math — no certificate authority.

published sample key3059 3013 0607 2a86 … 544c 09d3 19
SHA-256( "NHP-QURL-CRID-V1" ‖ 0x00 ‖ key )
digest38983c7f201d25c3e943589af30851b2c15ccf496547050d441aa76f4b7dbfcd
+ version byte (0x01)  →  CRC32C checksum a2a1260e  →  base32
ae4jqpd7eaoslq7jinmjv4yikgzmcxgpjfsuobiniqnko32lpw743ivbeyha

✓ Starts with a — a production name. 60 characters, checksummed, derived in this page.

✓ Structurally valid — production name (the one derived above)

No network involved — every value on this card is derived in your browser and pinned to the public conformance vectors.

Two ways to create a qURL.

No code

Create and share access in a few clicks.

For developers

Build it into your app or automation.

The other half

Reaching something private or local?

Keep the local app on loopback or a private network and run a connector beside it. The connector uses an outbound path; it does not close any public route you already expose. Then issue a short-lived qURL for the published resource. The connector carries access outbound; the qURL is the way back in.

Built on OpenNHP.

Every qURL carries a full Network Hiding Protocol exchange — network hiding without protocol code to write. NHP is backed by the Cloud Security Alliance and IETF, and open source.

Your first qURL is one call away.

Start free — no credit card.

Pilot LayerV

Tell us what to protect, and we’ll scope a pilot.

Enterprise starts with a scoped, paid pilot on one application, typically 60 to 90 days, credited in full toward year one if you convert within 60 days. Then an annual package sized to what you protect. Not per seat.