This page covers the joint Silverfort integration specifically. Everything else in these docs is
generic and true for any SAML service provider.
Where FaceSign sits
Silverfort already knows the workforce identity and has authenticated it. Its policy engine decides a particular action needs a step-up, and invokes Bridge. Bridge acts as the SAML service provider and sends the person to FaceSign.1
Silverfort policy triggers a step-up
The person attempts a protected action. Silverfort already knows who they are.
2
Bridge sends an AuthnRequest to FaceSign
Bridge is the service provider. FaceSign is the identity provider.
3
The person completes a FaceSign verification
A short avatar-led session. This is all they see.
4
FaceSign returns signed SAML to the Bridge ACS
A pass carries the
facesign.* attributes. Any other outcome is a signed, status-only refusal.5
Silverfort validates and decides
Silverfort resumes, denies, or invokes its configured fallback. The access decision is
Silverfort’s.
The boundary that matters most
FaceSign attests that a live, willing person is present. It does not attest that the person is the workforce identity Silverfort authenticated. Subject echo is enabled only for Silverfort’s exact isolated, non-authorizing sandbox registration, once both sides have confirmed that boundary in writing.What we need from Silverfort
string
required
Exact and case-sensitive, as Bridge sends it in
<Issuer>.string
required
HTTPS, POST binding.
string
required
What Bridge injects as the Subject, and in which format.
boolean
required
The most consequential answer. FaceSign does not support signed AuthnRequests in this release.
If Bridge signs and cannot be configured otherwise, that changes the integration scope rather
than a setting.
duration
required
Must exceed FaceSign’s five-minute authentication deadline, or we lower ours to sit inside
yours. Minimum 60 seconds.
string
required
What Bridge does on deny, on timeout, and when the IdP is unavailable.
Joint acceptance test
The integration is established when a joint test demonstrates:- A real Bridge-initiated success, repeated across two people and two devices.
- Both request bindings Bridge actually uses.
- Subject echo returning the exact value injected, with format preserved.
- Both signatures,
Destination,Recipient,Audienceand time conditions validated by Bridge. - An explicit denial, and Silverfort’s chosen fallback firing correctly.
- Deadline behaviour on both sides.
- A tampered response rejected.