feat(peergos): access gate - block reads and writes for delinquent customers #4

Merged
marchon merged 1 commit from feat/peergos-read-gate into overdue-negative-balance-only 2026-10-06 14:07:08 -04:00
Owner

George 2026-10-06: unpaid/overdue invoice or failed payment blocks Peergos READS as well as writes until paid. forward_auth endpoint for ns2 Caddy, billing holds, pay-now clears holds immediately. 290/290 tests pass. Limits in docs/PEERGOS-BILLING.md.

George 2026-10-06: unpaid/overdue invoice or failed payment blocks Peergos READS as well as writes until paid. forward_auth endpoint for ns2 Caddy, billing holds, pay-now clears holds immediately. 290/290 tests pass. Limits in docs/PEERGOS-BILLING.md.
- GET /peergos-gate/check: Caddy forward_auth target for peergos.verae.ai; matches
  owner= / username= / /public/<user>/ against blocked users, 402 'Access is paused
  until this invoice is paid'; fails open on internal errors
- delinquency = open billing hold (payment_failed | manual) or issued invoice past due
  (PEERGOS_BLOCK_ON_UNPAID=1 also blocks unpaid-not-due)
- billing_holds + peergos_owner_keys tables (additive); username->owner via Peergos
  core/getPublicKey, cached
- pay-now: failed PaymentIntent adds a payment_failed hold, success clears it and
  rebuilds the gate index immediately; summary/invoices expose standing, accessPaused,
  pausedReasons
- admin: customer holds add/clear/list, GET /peergos/gate
- docs: PEERGOS-BILLING.md access gate section and limits; USAGE-BILLING-API.md
- tests: 7 new (290 total)
marchon merged commit 34104a757a into overdue-negative-balance-only 2026-10-06 14:07:08 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marchon/verae-edge-billing!4
No description provided.