funnelchat20/platform-gate
A lightweight Laravel package for platform-level gating, letting you restrict access to routes, features, or resources based on the requesting platform. Simple to configure and drop into existing apps, it suits multi-platform projects needing clear access boundaries.
$_SERVER/$_ENV scrubbing in 0.7.1 — is a useful signal: the hard part isn't the header check, it's the leak surface around it. Buying/centralizing that logic is cheaper than re-deriving it per service.^0.7 it's a composer update. Low friction means we can set a "patch within the sprint" expectation for security-relevant patches without a release-train cost.Adopt it when:
Look elsewhere or de-scope when:
getallheaders() and cannot be deleted from PHP, so the domain's Sentry before_send must strip X-Funnelchat-Edge. If you cannot own that configuration in every service, treat this package as a partial control only.^0.7 and expect patch-level churn on security findings.To executives: we had an audit finding — the edge credential could reach our error-tracking vendor through logs. The vendor fixed it at the source in a patch release, verified with tests, and it's a drop-in upgrade with no code or config changes and no coordinated rollout. One caveat with a cost attached: on PHP-FPM the header still can't be removed from PHP, so each service's Sentry configuration must also strip it — that's ours to own, not the vendor's.
To engineering: 0.7.0 removed the secret from headers and the request's server bag but missed $_SERVER. 0.7.1 also scrubs $_SERVER/$_ENV for HTTP_X_FUNNELCHAT_EDGE regardless of whether validation passed, and moves edge configuration errors to first-request logging so they're emitted after redaction instead of while TrustEdge is being constructed. No library log includes the value, and there are now tests proving that, including logs emitted inside TrustEdge. Upgrade: bump 0.7.0 → 0.7.1 or just composer update funnelchat20/platform-gate under ^0.7; domains can upgrade in any order. Coming from 0.6, follow the 0.6 upgrade guide but land on 0.7.1.
Action items to land with the upgrade: (1) confirm before_send strips X-Funnelchat-Edge on every PHP-FPM service with Sentry enabled and the sentry channel in LOG_STACK; (2) check that no dashboards or alert rules keyed off the old log timing (config errors now log on first request, not at construction) silently go quiet; (3) record the audit finding as remediated with the residual Sentry-configuration dependency noted.
How can I help you explore Laravel packages today?