Zum Inhalt springen

Native SAML Logout: Closing the Loop on Session Consistency for Mautic Integrations

Today, the Helpifyr stack closes a critical gap in SAML-based integrations by implementing a true native Service Provider logout for Mautic, ensuring that user sessions are reliably terminated across both application and identity layers. This shift removes persistent session ghosts, eliminates cache confusion, and unlocks a foundation for secure, auditable sign-out flows across the platform.

Jadda Helpifyr3 Min. LesezeitEnglisch
Native SAML Logout: Closing the Loop on Session Consistency for Mautic Integrations

Auf einen Blick

136

übernommene Änderungen

21

beteiligte Code-Projekte

Die meisten Änderungen in

  • jhf-deployment15
  • jhf-openclaw-env13
  • jhf-warp10

Dieser Beitrag ist auf Englisch. Unterstrichene Begriffe sind erklärt: einfach darauf zeigen oder tippen.

Picture a user logging out of a CRM, expecting their session to be fully terminated. Instead, a subtle flaw leaves their authentication session alive, allowing the next browser visit to slip past what should be a hard stop. For operators and auditors, this is more than an inconvenience-it’s a compliance and data boundary risk. Until today, our Mautic SAML integration used a browser callback to simulate logout, but couldn’t guarantee that both the Service Provider (Mautic) and the Identity Provider (Keycloak) agreed on the session’s termination. The result: unpredictable cache states, lingering authentication cookies, and a sign-out flow that sometimes worked, sometimes didn’t. That ambiguity ends now.

Why This Day Mattered

With the native SAML Service Provider logout now wired into Mautic, operators gain a reliable guarantee that user sign-out is enforced at both the application and identity layers. This eliminates the risk of session persistence after logout, closes the window for privilege escalation or session replay, and ensures that audit trails reflect the true state of user access. For developers, it means integrations and downstream automation can depend on a single, canonical logout event-no more compensating for partial sign-outs or cache desynchronization. For end users, it translates to a predictable, secure experience: when they log out, they stay logged out.

The closed UTC day 2026-08-24 resolved into 136 merged PRs across 21 repos, led by jhf-deployment (15), jhf-openclaw-env (13), jhf-warp (10).

What Actually Changed

The stack now issues a native SAML logout request from Mautic to the Identity Provider (Keycloak), completing the full SAML logout protocol instead of relying on a browser callback or partial session cleanup. The deployment layer emits the correct Assertion Consumer Service (ACS) URL in SAML AuthnRequests, and the router cache is invalidated as part of the logout flow, ensuring that no stale session data lingers. Ownership of cache entries is now preserved during logout, preventing cross-user leakage and ensuring that the cache state matches the authenticated user context. The logout callback is fully SP-initiated and native, not just a UI redirect.

Why It Holds Better Now

By adopting the true SAML SP logout flow, the system now guarantees that both Mautic and Keycloak agree on the session’s lifecycle. This closes the door on session ghosts-users cannot be unexpectedly reauthenticated via a lingering IdP session or browser artifact. The explicit cache invalidation and ownership preservation mean that stale authentication artifacts are eliminated, and the risk of session fixation or replay is removed. The logout event is now a single, auditable point of truth, making both operational monitoring and compliance reporting straightforward and reliable.

Want to Know More?

How might this full-fidelity logout flow enable secure, cross-application session management for future product integrations? Could we extend this guarantee to OAuth and other federated protocols for a unified sign-out experience across the platform?

Begriffe aus diesem Beitrag

PR
Pull Request: eine geprüfte Code-Änderung, die ins Projekt übernommen wird.
repo
Repository: ein Code-Projekt in der Versionsverwaltung.
CRM
Kundenbeziehungsmanagement: Kontakte, Anfragen und Verkaufschancen.
operator
Die Person oder das Team, das das System betreibt.

Wie würde das in Ihrem Betrieb aussehen?

Ein Pilot zeigt es an einem echten Ablauf.

Pilot anfragen

Mehr zu Identität und Zugriff

Alle ansehen
Plan Studio Owner Binding: Enforcing Human Approval as a Runtime GateIdentität und Zugriff

2 Min.

Plan Studio Owner Binding: Enforcing Human Approval as a Runtime Gate

Today, Plan Studio's human approval workflow becomes a runtime-enforced contract, not just a UI gesture. This shift guarantees that every critical operation bound to Plan Studio is verifiably coupled to explicit owner intent, making accidental or unauthorized transitions physically impossible.

Lesen
Entitlement at the Gate: Enforcing Heddle Rights on Jadda Callbacks and Delegated ClaimsIdentität und Zugriff

3 Min.

Entitlement at the Gate: Enforcing Heddle Rights on Jadda Callbacks and Delegated Claims

Today, Helpifyr/JaddaHelpifyr's CRM and entitlement boundary tightened: Jadda callbacks now require explicit Heddle entitlements, and delegated claims denial is structured and auditable. This push closes a critical loop between runtime access and contract-level identity, reducing ambiguity for both integrators and operators.

Lesen