filagora/filagora-push
Filagora Push is a Laravel package for sending and managing push notifications. It provides a clean API for configuring providers, composing messages, and dispatching alerts to users, helping you add reliable notification delivery to your app with minimal setup.
listen switches per alert type (mentions, new posts in followed threads, private messages) allow A/B or staged rollout by category without new code.push.stale_subscriptions retention rule (180 days) mean GDPR/DSAR obligations are covered out of the box, reducing legal review cycles for launch.isAllowedEndpoint (https-only, default port, host allowlist, parser-ambiguity rejection, PushRefused/PushRefusal reasons) hardens against SSRF and parser-confusion attacks — a security-review checkbox that would otherwise block launch.filagora-forums) and messaging (filagora-messages) alert hooks show the intended integration path; decisions about whether push is enabled by default for those modules, and what the default preference (AllowsAllPush) should be, are product calls this package exposes explicitly.Adopt when:
filagora-forums and/or filagora-messages; the built-in alerts are effectively free.push_subscriptions table on the sending side — the migration here is explicitly designed to match it index-for-indexto ease migration.PushPreferences, PushCategory) and per-user model support.Look elsewhere / defer when:
allowed_hosts allowlist or are in an environment where push endpoints are dynamic — the strict endpoint validation will refuse legitimate-but-unlisted hosts.resync requirement ("the old endpoint must already be on file for the person") does not match your data migration story — you may need a backfill strategy rather than a like-for-like swap.For executives: We can turn on browser push notifications without building a notification platform. This package gives us the full loop — capturing subscriptions, validating endpoints securely, delivering alerts, and complying with privacy obligations — so the cost is integration and product policy, not infrastructure. It reuses our existing forums and messaging products to drive immediate value (mention alerts, thread activity, DMs), which is our cheapest path to improved retention and re-engagement.
For engineering: It is a focused Laravel package: a push_subscriptions table and model, a PushSubscriptions service handling the full subscription lifecycle (including a pruneStale cleanup and a scheduled command with a 180-day retention rule), a PushNotifier/WebPushAlert delivery pipeline that respects per-user PushPreferences, and optional integrations for forums and messaging alerts exposed via listen and routes. Endpoint validation is deliberately strict — https-only, default port, host allowlist, parser-confusion–safe, with typed PushRefused/PushRefusal results — which materially reduces SSRF risk. It is user-model agnostic and ships a privacy contributor for export and erasure. Note: the migration intentionally mirrors an existing table for easy adoption; if we are not migrating from that sender, review the schema and the resync semantics first.
For legal/security: Privacy and endpoint-hardening are built in, not bolted on; the retention rule and erasure path should short-circuit typical DSAR review, and the URL validation rationale is documented in the release itself.
Open questions to settle before commitment: Do we enable push by default for new users (default AllowsAllPush) or opt-in? Which alert categories do we ship with listen enabled first? Do we have a version-support and upgrade policy for the package given it is at v0.1.0 (pre-1.0 API stability risk)?
How can I help you explore Laravel packages today?