26b4b1e7e4
backend/portal_admin.py (run in-container): create-client, link-project (by id/ number/name -> sets Project.client_id), mint-link (prints the full magic URL once, stores only the hash), list, revoke. PORTAL_BASE_URL controls the printed link base. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>