Commit graph

330 commits

Author SHA1 Message Date
rcourtman
48c8d26198 Add paid feature claim proof bundle 2026-04-29 14:18:43 +01:00
rcourtman
f060f261cd Present Relay as annual-first support tier 2026-04-29 12:49:20 +01:00
rcourtman
0dd3cd804e Hide MSP-only features from self-hosted Pro plans 2026-04-29 01:02:10 +01:00
rcourtman
5f0078b0d0 Keep synthetic modes out of entitlement payloads 2026-04-29 00:33:53 +01:00
rcourtman
08fef313eb Rename hosted capacity marker copy 2026-04-29 00:07:18 +01:00
rcourtman
c0ef2d44f3 Keep compatibility-only features out of upgrade URLs 2026-04-28 23:22:20 +01:00
rcourtman
937696508c Guard self-hosted feature metadata drift 2026-04-28 23:16:12 +01:00
rcourtman
a67845ada0 Retire self-hosted volume caps 2026-04-28 20:36:37 +01:00
rcourtman
c197f6a7a5 Move license test signers to testsupport 2026-04-28 19:12:21 +01:00
rcourtman
b29f398b9d Fix release-mode licensing test expectations 2026-04-28 18:58:35 +01:00
rcourtman
1d189d3343 Clarify hosted entitlement signing compatibility 2026-04-28 18:47:19 +01:00
rcourtman
2b1d82d965 Retire self-hosted trial posture prompts 2026-04-28 17:39:09 +01:00
rcourtman
7cc980ad1d Retire self-hosted trial signup control plane 2026-04-28 17:02:04 +01:00
rcourtman
ded190dcab Retire hosted AI quickstart runtime 2026-04-28 16:11:27 +01:00
rcourtman
b1e179479d Retire self-hosted AI quickstart surfaces 2026-04-28 15:49:18 +01:00
rcourtman
ecf8fd4299 Keep self-hosted Pro prompts opt-in 2026-04-28 11:23:49 +01:00
rcourtman
fab0e77800 Refine self-hosted Pro value copy 2026-04-28 09:56:03 +01:00
rcourtman
e0c4533fb4 Remove self-hosted monitoring upsell copy 2026-04-28 09:33:26 +01:00
rcourtman
430f0d3fa2 Clarify Pro Plus continuity feature contract 2026-04-26 21:08:15 +01:00
rcourtman
d36f465b7c Preserve uncapped self-hosted commercial continuity 2026-04-26 14:32:00 +01:00
rcourtman
bd138beeca Improve Pulse Assistant approval continuity 2026-04-24 09:13:39 +01:00
rcourtman
386099aeee Surface ZFS pool membership on physical disks 2026-04-23 20:38:33 +01:00
rcourtman
60d7db6ef9 Harden agentexec token binding and disk filtering 2026-04-23 15:54:48 +01:00
rcourtman
b4692ef7f0 Encode canonical self-hosted feature metadata 2026-04-23 15:30:42 +01:00
rcourtman
a5687cd22e Formalize v6 paid-surface classification 2026-04-23 14:53:41 +01:00
rcourtman
eb98c13896 Allow insecure dev HTTP agent runtime URLs 2026-04-23 13:48:54 +01:00
rcourtman
74c2660f8d Expose infrastructure onboarding diagnostics 2026-04-22 15:37:56 +01:00
rcourtman
767a0dd5ba Instrument infrastructure onboarding funnel and harden onboarding proof 2026-04-22 15:04:33 +01:00
rcourtman
8a42bb432e Harden commercial callback and transport URL policy 2026-04-22 10:57:21 +01:00
rcourtman
9c8387be6f Export restricted outbound HTTP security helpers 2026-04-22 10:05:57 +01:00
rcourtman
de99fcb1f0 Restrict purchase return HTTP callbacks to loopback 2026-04-22 09:49:36 +01:00
rcourtman
2806cc6c9e Split audit log access into dedicated token scope 2026-04-22 07:59:12 +01:00
rcourtman
a44cde6b92 Gate licensing test helpers out of release builds 2026-04-22 06:18:40 +01:00
rcourtman
9c4bb4a90e Fail closed on auth env hashing and TLS floors 2026-04-22 05:53:02 +01:00
rcourtman
14fc2bd4f0 Fail closed on wildcard trusted proxy configuration 2026-04-22 04:23:23 +01:00
rcourtman
f7c1d9b629 Require accepted org invitations and stable runtime capabilities 2026-04-22 03:06:22 +01:00
rcourtman
70acd663bd Strengthen export and license persistence encryption 2026-04-22 01:03:10 +01:00
rcourtman
513399b004 Harden hosted signup and audit webhook trust paths 2026-04-22 00:54:49 +01:00
rcourtman
586473ee31 Bind recovery and bootstrap auth to direct loopback 2026-04-22 00:39:53 +01:00
rcourtman
360d08104e Compile out release env guardrail bypasses 2026-04-22 00:05:57 +01:00
rcourtman
d8d94c48e1 Expose local commercial funnel diagnostics 2026-04-20 22:27:34 +01:00
rcourtman
c20766b7b8 Instrument self-hosted billing conversion stages 2026-04-20 21:46:59 +01:00
rcourtman
61430703b2 Reframe self-hosted paid value around operator outcomes 2026-04-20 17:30:52 +01:00
rcourtman
c4a4d175ce Fix v6 dry run backend contract regressions 2026-04-20 14:57:49 +01:00
rcourtman
29d96aec33 Reduce metrics store transaction churn
Refs #1124
2026-04-19 17:11:14 +01:00
rcourtman
9e60f2aec6 Scrub stale community billing caps
Refs #1429
2026-04-19 12:17:20 +01:00
rcourtman
e6b0d47bd6 Gate Docker mutations on authz-plugin posture 2026-04-18 10:45:25 +01:00
rcourtman
943389827f Scrub stale monitored-system caps on self-hosted uncapped tiers
v5-migrated installations can persist a legacy max_monitored_systems value
(e.g. Community=1) in the license claims. After 5914a4127 made all
self-hosted tiers uncapped, EffectiveLimits() only scrubbed Lifetime and
v5-grandfathered Pro, so migrated Community / Pro / Relay installs kept
emitting the old cap and the "Over plan" banner still rendered on rc.2.

Extend the scrub to every self-hosted tier whose TierMonitoredSystemLimits
entry is 0, and stop monitoredSystemContinuityStatusLocked() from falling
back to the grant's plan limit when the license says uncapped. 0 is now
a first-class "unlimited" signal, not a missing-data sentinel.

The grandfather-floor continuity is still captured for audit, but no
longer enforces on self-hosted tiers. Cloud and MSP limit resolution is
untouched.

Refs #1429
2026-04-17 13:52:02 +01:00
rcourtman
9855973e5b Fix non-root storage hardening for Helm startup 2026-04-16 21:26:02 +01:00
rcourtman
5914a4127d Make self-hosted core monitoring uncapped
Refs #1409
2026-04-16 01:21:57 +01:00