mrhid6andClaude Opus 5 c829cc41d9 feat(admin): linking, relink and the scoped customer API
Every customer handler that names an instance resolves it through
ownedInstance, which returns 404 rather than 403 for another account's
instance -- a 403 confirms the instance exists, which is an existence
oracle over customer data.

The unique index on admin_instances.instance_id, not the pre-check, is what
actually prevents two accounts owning one instance. Relink issues a
replacement covering the REMAINING term, so it cannot be used to extend a
subscription, and the old licence is not revoked because offline
verification has no revocation -- its instance binding is what stops it.

The route table lands with the staff handlers in the next commit so every
commit builds.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 19:09:13 +01:00
2026-07-24 10:13:33 +01:00
2026-07-24 09:51:30 +01:00
2026-07-24 13:13:47 +01:00
2026-07-24 10:13:33 +01:00
S
Description
No description provided
9 MiB
agent/v1.2.13
Latest
2026-08-06 15:20:34 +00:00
Languages
Go 48.5%
TypeScript 47.1%
CSS 2.3%
Go Template 1.3%
Dockerfile 0.5%
Other 0.3%