REMOTE SETTINGS · IDENTITY · CAPABILITY

HTTPS is not a Settings grant.

Authenticate the gateway and browser principal separately, then enforce every narrow operation at the Host.

Current rc.2 proof

Look for the request that never happened.

No Settings RPCClient scope

The non-loopback mirror starts unavailable. External HTTPS or login state is never negotiated.

HTTP 403Trust fence

The request reached DSH but Host, Origin, or privileged-method policy rejected it.

Write errorProvider boundary

The RPC passed; inspect schema, revision, Settings store, and credential ownership.

Additive upstream design

Two identities. One narrow grant.

01Authenticate gateway

Use mTLS, a private socket, or another non-forwardable carrier credential. Eliminate direct backend access.

02Identify browser user

Preserve principal, tenant, session, audience, expiry, authentication strength, and revocation.

03Grant operations

Authorize namespace-scoped read, write, credential, and model-discovery capabilities independently.

04Enforce at Host

Server-side checks, CSRF, revisions, step-up auth, audit, secret redaction, and default deny.

Capability split

Do not turn the local control plane into one Boolean.

SettingsRedacted + revisioned

Allowlisted namespaces; every mutation audited and conflict checked.

CredentialsWrite-only + step-up

Values cross toward the Host once and never return in responses, logs, or exports.

Native effectsRemain local

Picker, open-path, arbitrary Host paths, Sessions, and Agent tools need separate authority.

Migration invariant

Preserve the safe default.

ALoopback stays compatible

Existing local clients keep the current carrier.

BRemote stays unavailable

No authenticated handshake means no Settings RPC.

CExplicit admin profile

All-interface binding exists only when the authenticated carrier owns it.

DLoss revokes access

Gateway identity or browser session loss removes grants immediately.

Primary evidence

Read the contracts.