Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions api-reference/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Start with the [API quickstart](/build/quickstart) to make an authenticated requ
- [Workspaces](/api-reference/workspaces/list): lifecycle and resources.
- [Apps](/api-reference/apps/list): installed applications and runtime controls.
- [App releases](/api-reference/app-releases/list): prepare and activate v0.13 deployments.
- [Planned local tunnels](/api-reference/tunnels/list): prepared contracts for a service that is currently disabled; the signed CLI 0.13.1 release is not yet published.
- [Local tunnels](/api-reference/tunnels/list): HTTPS access to a local service, with private, invited, or public sharing.
- [Snapshots](/api-reference/snapshots/list): stopped-workspace root-disk checkpoints.
- [API keys](/api-reference/api-keys/list): account credentials.

Expand All @@ -20,5 +20,7 @@ The account API uses the public HTTPS endpoint and an authorized credential. The

This is a v0.13 documentation preview. App-release functionality requires the matching server capability. Reading a generated schema does not establish that a feature is enabled for your account. See [API conventions](/build/api-conventions) for polling, pagination, and failure handling.

The tunnel API pages are reference-only while production tunnels remain disabled
pending browser-domain isolation. They do not offer a live request playground.
The tunnel API pages are reference-only and do not offer a live request
playground. Use the signed CLI 0.13.1 or later to run a connector, and read the
[exposure and shared-browser-site risks](/guides/local-tunnels#shared-browser-site)
before sharing an app.
10 changes: 5 additions & 5 deletions api-reference/tunnels/create.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ playground: "none"
---

<Info>
Tunnels are not available to customers yet. The production service is disabled
pending browser-domain isolation, and the planned signed CLI 0.13.1 release is not
yet published. This page documents the prepared API contract; it does not enable
the service. See [local tunnels](/guides/local-tunnels) for planned use and risks.
These endpoints manage HTTPS tunnels under `rigbox.link`. Use the signed CLI
0.13.1 or later to run the local connector. Read the
[exposure and shared-browser-site risks](/guides/local-tunnels#shared-browser-site)
before sharing an app.
</Info>

Requires an enabled tunnel capability and an account eligible to use tunnels. A new tunnel is private and points to one fixed literal loopback target. Its assigned website URL uses HTTPS; the local server can use HTTP or verified HTTPS.

Creation returns the tunnel record and separate connector and lease credentials. Keep both credentials secret and out of logs. Creating the record does not connect your laptop or deploy an application. The foreground [tunnel command](/guides/local-tunnels#start-privately-when-available) creates a record and runs its connector together, managing the lease for you.
Creation returns the tunnel record and separate connector and lease credentials. Keep both credentials secret and out of logs. Creating the record does not connect your laptop or deploy an application. The foreground [tunnel command](/guides/local-tunnels#start-privately) creates a record and runs its connector together, managing the lease for you.

See [local tunnels](/guides/local-tunnels) for access modes, local HTTPS setup, and operating limits.
10 changes: 5 additions & 5 deletions api-reference/tunnels/get.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ playground: "none"
---

<Info>
Tunnels are not available to customers yet. The production service is disabled
pending browser-domain isolation, and the planned signed CLI 0.13.1 release is not
yet published. This page documents the prepared API contract; it does not enable
the service. See [local tunnels](/guides/local-tunnels) for planned use and risks.
These endpoints manage HTTPS tunnels under `rigbox.link`. Use the signed CLI
0.13.1 or later to run the local connector. Read the
[exposure and shared-browser-site risks](/guides/local-tunnels#shared-browser-site)
before sharing an app.
</Info>

Returns an owned tunnel and its current invitation email list. Read the returned policy epoch, connection generation, and target fingerprint before [changing access](/api-reference/tunnels/update-policy).

The connector target stays fixed for the lifetime of this tunnel. To serve a different local target, start a new tunnel through the [CLI](/guides/local-tunnels#start-privately-when-available).
The connector target stays fixed for the lifetime of this tunnel. To serve a different local target, start a new tunnel through the [CLI](/guides/local-tunnels#start-privately).
8 changes: 4 additions & 4 deletions api-reference/tunnels/list.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ playground: "none"
---

<Info>
Tunnels are not available to customers yet. The production service is disabled
pending browser-domain isolation, and the planned signed CLI 0.13.1 release is not
yet published. This page documents the prepared API contract; it does not enable
the service. See [local tunnels](/guides/local-tunnels) for planned use and risks.
These endpoints manage HTTPS tunnels under `rigbox.link`. Use the signed CLI
0.13.1 or later to run the local connector. Read the
[exposure and shared-browser-site risks](/guides/local-tunnels#shared-browser-site)
before sharing an app.
</Info>

Lists the current account's tunnel records, including their hostname, target, access policy, and connection state. A record does not establish that a connector is running or that its website is reachable.
Expand Down
10 changes: 5 additions & 5 deletions api-reference/tunnels/stop.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ playground: "none"
---

<Info>
Tunnels are not available to customers yet. The production service is disabled
pending browser-domain isolation, and the planned signed CLI 0.13.1 release is not
yet published. This page documents the prepared API contract; it does not enable
the service. See [local tunnels](/guides/local-tunnels) for planned use and risks.
These endpoints manage HTTPS tunnels under `rigbox.link`. Use the signed CLI
0.13.1 or later to run the local connector. Read the
[exposure and shared-browser-site risks](/guides/local-tunnels#shared-browser-site)
before sharing an app.
</Info>

Stops the owned tunnel, revokes its connector and lease credentials, and invalidates its viewer sessions. The relay closes active traffic after observing the stopped state.

A stopped connection generation cannot be resumed. Start a new tunnel through the [CLI](/guides/local-tunnels#start-privately-when-available) when you want to serve the website again.
A stopped connection generation cannot be resumed. Start a new tunnel through the [CLI](/guides/local-tunnels#start-privately) when you want to serve the website again.
8 changes: 4 additions & 4 deletions api-reference/tunnels/update-policy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ playground: "none"
---

<Info>
Tunnels are not available to customers yet. The production service is disabled
pending browser-domain isolation, and the planned signed CLI 0.13.1 release is not
yet published. This page documents the prepared API contract; it does not enable
the service. See [local tunnels](/guides/local-tunnels) for planned use and risks.
These endpoints manage HTTPS tunnels under `rigbox.link`. Use the signed CLI
0.13.1 or later to run the local connector. Read the
[exposure and shared-browser-site risks](/guides/local-tunnels#shared-browser-site)
before sharing an app.
</Info>

Choose `private` for the owner, `privileged` for the owner and invited verified email identities, or `public` for visitors without Rigbox sign-in. An admitted visitor receives the access your local application provides, including its write and administrative features.
Expand Down
15 changes: 10 additions & 5 deletions cli-reference/cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,17 @@ Choose a command below, then follow its subcommand links. Each page includes its

[Configuration and output](/cli-reference/configuration) explains scripting options. [Local versus workspace CLI](/cli-reference/execution-modes) explains which command surface to use.

## Planned local tunnels
<span id="planned-local-tunnels" />

## Local tunnels

[`rig tunnel`](/guides/local-tunnels) requires the signed stable CLI 0.13.1 or
later and an enabled tunnel service. It gives a fixed loopback service an HTTPS
URL under `rigbox.link`. Start privately and review the whole-app exposure and
[shared-browser-site limitation](/guides/local-tunnels#shared-browser-site)
before sharing. Rigbox protects its own access cookies; another tunnel can still
set parent-domain cookies that interfere with your app's cookies.

[`rig tunnel`](/guides/local-tunnels) is prepared for the planned signed CLI
0.13.1 release, which is not yet published. The production tunnel service is
disabled pending browser-domain isolation. Its guide documents future commands
and risks; these commands require both that matching CLI and an enabled service.
The generated command reference above retains its existing source version.

## Source and coverage
Expand Down
11 changes: 6 additions & 5 deletions guides/install-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Use the `rig` CLI to deploy projects and manage workspaces from your terminal. T

The CLI is already installed inside Rigbox workspaces. For that environment, see [Using the CLI](/guides/using-cli#inside-a-workspace).

<Note>The default installer follows the stable release. Incremental app-release commands require v0.13, currently available as a [release candidate](https://github.com/rigbox-dev/cli/releases/tag/v0.13.0-rc.2). Follow the release’s installation instructions and verify `rig --version` before using those commands.</Note>
<Note>The default installer follows the stable release. Use the signed [CLI 0.13.1 release](https://github.com/rigbox-dev/cli-artifacts/releases/tag/v0.13.1) or later for app-release and tunnel commands, and verify `rig --version` before using them. Tunnels also require an enabled service; review their [exposure and shared-browser-site risks](/guides/local-tunnels#shared-browser-site) before sharing a local app.</Note>

## 1. Install

Expand All @@ -23,7 +23,8 @@ Run this on your local machine:
curl -fsSL https://rigbox.dev/install.sh | bash
```

The installer places `rig` and `rigbox` in `~/.local/bin`. Confirm the installation:
The installer verifies the signed release manifest and binary digest before
installing `rig` and `rigbox` in `~/.local/bin`. Confirm the installation:

```bash
rig --version
Expand Down Expand Up @@ -67,10 +68,10 @@ rig update
rig --version
```

`rig update` replaces the `rig` you ran with the latest published release. It downloads the build for your platform from the public release mirror, checks that the download runs, and swaps it in for the installed binary, following the `rig` link to the real file. To install a particular release instead, pass its tag:
`rig update` replaces the `rig` you ran with the latest published release. It downloads the build for your platform from the public release mirror, verifies the signed release manifest and binary digest, checks that the download runs, and swaps it in for the installed binary, following the `rig` link to the real file. To install a particular release instead, pass its tag:

```bash
rig update --version v0.12.68
rig update --version v0.13.1
```

To put the new binary somewhere else, set `RIG_INSTALL_DIR`; the CLI installs it there as `rigbox` and adds a `rig` link next to it. If the CLI can't write to the directory, it stops and says so without touching the installed binary; rerun it with write access or set `RIG_INSTALL_DIR`. Published builds cover macOS (Apple Silicon and Intel) and Linux x86-64.
Expand All @@ -80,7 +81,7 @@ The CLI checks for a newer release at most once a day. While one is available, c
You can also rerun the installer. To install a specific published release, set `RIG_VERSION` on the Bash process that executes the installer:

```bash
curl -fsSL https://rigbox.dev/install.sh | RIG_VERSION=v0.12.68 bash
curl -fsSL https://rigbox.dev/install.sh | RIG_VERSION=v0.13.1 bash
```

Set `RIG_INSTALL_DIR` on the same process to choose another writable installation directory.
Expand Down
74 changes: 46 additions & 28 deletions guides/local-tunnels.mdx
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
---
title: "Local tunnels"
description: "Planned local website tunnels, access controls, and exposure risks."
description: "Local website tunnels, access controls, and exposure risks."
---

<Info>
Tunnels are not available to customers yet. The production service is disabled
pending browser-domain isolation, and the planned signed CLI 0.13.1 release is not
yet published. The commands below describe prepared behavior and require both
that matching CLI and an enabled tunnel service. Reading these instructions does
not enable tunnels or expose your laptop.
Use the signed CLI 0.13.1 or later. Tunnels give a local service an HTTPS URL under
`rigbox.link` without deploying the app. Start privately and review what the app
exposes before sharing it.
</Info>

The planned tunnel keeps your service running on your laptop. Its foreground CLI
The tunnel keeps your service running on your laptop. Its foreground CLI
connects outbound to Rigbox and gives one fixed loopback port a fresh HTTPS URL.
Public HTTPS and verified outbound WSS are required from the first release.
The public URL uses HTTPS and the connector uses verified outbound WSS.
Keep the foreground command running while you use it.

<Warning>
Expand All @@ -23,7 +21,9 @@ through an app vulnerability. Rigbox does not sandbox the app or your laptop.
Review the service before sharing it, even when the tunnel is private.
</Warning>

## Start privately when available
<span id="start-privately-when-available" />

## Start privately

Start your HTTP service on `127.0.0.1:3000`, then run:

Expand All @@ -41,28 +41,49 @@ Keep Rigbox account API keys on the control API; never send them to a tunnel URL
Public native HTTP callers can use credentials issued by their local application,
with the explicit client header described below.

A private or privileged link opened from another website first shows a Rigbox
Continue page. That page does not contact the local app. Click Continue to enter
through the bound browser flow; sign in if needed. Every browser completes a
cookie-boundary check before the local app or its assets load. Deliberate Public
links complete that check automatically when the browser supplies the required
evidence. Ambiguous navigation may require Continue.
A link opened from another website first shows a Rigbox Continue page. That page
does not contact the local app. Review its exposure and shared-cookie warning,
then click Continue; sign in if needed. Public visitors also see this warning.
Every browser completes a capability check before the local app or its assets
load.

Browser access requires supported cookie isolation and Fetch Metadata headers.
Browser access requires support for Rigbox's protected cookies and Fetch Metadata headers.
If those checks fail, the local app receives no request. Use a supported current
browser and reopen the URL. Concurrent entry tabs can invalidate an earlier
tab's binding and require it to restart the entry flow.

An older account may sign in successfully but receive `recovery_required` when
using tunnel controls. Complete the console's verified account recovery and old
credential revocation first; retry after the displayed recovery delay. A signed
email claim or API key does not bypass that ownership check.
An older account can sign in but remain blocked from tunnel controls pending
reviewed ownership recovery. If the CLI reports a conflict for an older account,
[contact Rigbox support](mailto:support@rigbox.dev). Recovery requires an independent
ownership review. If the review confirms that the original account and its
credentials belong to the same person, support can migrate the account while
preserving its credentials and workspaces. If ownership of old credentials remains
unresolved, those credentials must be revoked, followed by a wait of at least
24 hours plus 60 seconds from the final revocation before approval.
Signing in again, password linking, an email claim, or an API key does not bypass
this review.

Creation always starts private. Each new local session receives a new hostname
on a separate content domain with sibling cookie isolation. The destination
under `rigbox.link`, separate from Rigbox's login and console domain. The destination
remains literal `127.0.0.1` and the selected port; the connector has no remote destination,
arbitrary TCP, shell, file-serving, or background daemon mode.

## Shared browser site

<Warning>
All `*.rigbox.link` tunnels share a browser site. Another tunnel can set
parent-domain cookies that interfere with your app's cookies. Rigbox's browser
checks protect its own access cookies; they do not isolate application cookies
or give each tunnel a separate browser site. Use a tunnel only if you accept this
limitation for the app you are sharing.
</Warning>

Keep your app's authentication, authorization, CSRF protection, and exact-origin
checks enabled. Use host-only session cookies, preferably with the `__Host-`
prefix. These protections belong to your app and do not remove the shared-site
limitation. Private or privileged Rigbox access controls who reaches the app;
it does not replace the app's own security checks.

## Choose who can reach it

```bash
Expand Down Expand Up @@ -120,7 +141,7 @@ create another tunnel; a live session requires explicit stop.

## Identity deletion

The prepared Clerk identity-deletion handler revokes tunnel browser
The Clerk identity-deletion handler revokes tunnel browser
access created through the deleted identity after Rigbox verifies and commits
the signed deletion event. Older browser grants whose sign-in identity is unknown
are revoked for the affected Rigbox account and Clerk issuer.
Expand All @@ -132,8 +153,7 @@ and lease renewals are refused, including anonymous Public access. Existing
short-lived authority keeps its expiry and polling bounds.

Provider delivery can be delayed or missed, so provider deletion alone does not
promise immediate revocation. This prepared contract does not establish real
provider delivery or customer availability.
promise immediate revocation.

## HTTPS and local certificates

Expand Down Expand Up @@ -193,11 +213,9 @@ can process the plaintext HTTP traffic; this is not end-to-end encryption.

## A small example

The [planned local-tunnel example](https://github.com/rigbox-dev/rigbox-examples/tree/073522d4f0cca5e6426cd2afa1a002e3fe37ae2e/local-tunnel)
The [local-tunnel example](https://github.com/rigbox-dev/rigbox-examples/tree/366aff37bda4029bc15d84d9b3d4a7a3106368aa/local-tunnel)
serves fixed in-memory routes with Python and never provides directory browsing
or arbitrary file serving. It can run locally
without exposing a folder; sharing it still requires the enabled tunnel service
and matching CLI.
or arbitrary file serving. It can run locally without exposing a folder.

Python's general-purpose `http.server` serves files and follows symlinks. Its
directory option is not a filesystem sandbox. Pointing it at a home directory or
Expand Down
4 changes: 2 additions & 2 deletions quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Deploy your first app"
description: "Deploy the quickstart example as an incremental app release."
---

<Note>Incremental app releases require the v0.13 CLI and matching server capability. v0.13 is currently available as a release candidate; see [installation requirements](/guides/install-cli).</Note>
<Note>Use the signed stable CLI 0.13.1 or later and a server with app-release support. See [installation requirements](/guides/install-cli) and verify `rig --version` before starting.</Note>

## Prerequisites

Expand All @@ -19,7 +19,7 @@ rig whoami
rig --version
```

Use the v0.13 CLI. Browser sign-in stores credentials for subsequent commands.
Use CLI 0.13.1 or later. Browser sign-in stores credentials for subsequent commands.

## 2. Get the example

Expand Down
Loading