REFRACT Notification

REFRACT Notification

REFRACT Notification is the shared notification layer for the REFRACT Platform. It routes email and SMS notifications for REFRACT Delivery and REFRACT Workflow through either REFRACT Shared Services ACS or your own Azure Communication Services instance.

REFRACT Notification is the cross-cutting notification infrastructure that powers outbound communications for REFRACT Delivery recipient invitations and REFRACT Workflow participant and approver notifications. It is not a standalone product - it is the shared layer underneath those flows.

REFRACT eSign signer emails follow a different path. Because the signing experience is hosted by REFRACT, eSign signer emails originate from the REFRACT eSign Portal rather than from your Processor's notification queue - see REFRACT eSign signer emails below.

Scope

The EMAIL_PROVIDER environment variable controls every notification email that leaves your Dispatcher or Processor - this covers REFRACT Delivery and REFRACT Workflow in full. It does not control REFRACT eSign signer emails, which are sent by the REFRACT eSign Portal.


Two Modes

Two notification routing modes are supported. The mode is set via the EMAIL_PROVIDER environment variable on both your Dispatcher and Processor Function Apps.

vault-shared (Default)

The Dispatcher queues notification messages to your Azure Service Bus. Your Processor picks them up and relays each message to the REFRACT Notification service (HMAC-signed, metadata only). REFRACT Shared Services' Azure Communication Services instance handles the actual email delivery.

Customer Azure Subscription                          REFRACT Shared Services
──────────────────────────────────────   ────────────────────────────────────
Dispatcher
  └─ enqueue (metadata-only message)
       └─ [Customer Service Bus]
             └─ Processor NotificationWorker
                  └─ POST /api/notifications/send
                       (HMAC-SHA256 signed, metadata only:
                        recipient email, portal link, notification type)
                                                    └─ REFRACT Notification service
                                                          └─ ACS (email / SMS)

The HMAC-signed POST carries only: recipient email, portal link, notification type, and document name. Document content, file bytes, signatures, and form field data are never included.

customer-acs

Your Processor sends REFRACT Delivery and REFRACT Workflow notification emails directly through your own Azure Communication Services instance. For these features, the REFRACT Notification service is never called and no notification metadata transits REFRACT Shared Services.

Customer Azure Subscription
──────────────────────────────────────
Dispatcher
  └─ enqueue (metadata-only message)
       └─ [Customer Service Bus]
             └─ Processor NotificationWorker
                  └─ sendViaCustomerAcs()
                       └─ Your own ACS
                            (ACS_EMAIL_ENDPOINT + ACS_EMAIL_KEY)

customer-acs scope: REFRACT Delivery and REFRACT Workflow fully. REFRACT eSign is not covered.

Setting EMAIL_PROVIDER=customer-acs on both your Dispatcher and Processor routes all notification queue emails through your own ACS - this covers REFRACT Delivery invitations and OTP codes, and REFRACT Workflow participant, approver, and change-request notifications. For these features, no notification metadata transits REFRACT Shared Services.

REFRACT eSign signer emails are not affected by this setting. Signer invitations (initial and sequential), OTP codes, completion notifications, and documents-ready notifications are all sent by the REFRACT eSign Portal through REFRACT Shared Services, regardless of EMAIL_PROVIDER.


REFRACT eSign signer emails

The REFRACT eSign signing experience is hosted by REFRACT. Signers open a REFRACT-hosted portal to view the document, request an access code, and sign. The emails that support that experience are composed and sent by the portal itself, not by your Processor's notification queue - so they do not pass through EMAIL_PROVIDER routing.

This applies to all four eSign signer email types:

EmailSent byTrigger
Signer invitation (initial)REFRACT eSign PortalSigning session created
Signer invitation (sequential)REFRACT eSign PortalPrevious signer completes
OTP access codeREFRACT eSign PortalSigner requests a code on the portal
Completion notificationREFRACT eSign PortalFinal signer completes
Documents-ready notificationREFRACT eSign PortalSealed document is ready

What crosses the boundary for these emails is notification metadata only: recipient email address, signer name, document name, requesting organization, and the signing link. Document content, rendered PDF bytes, signature images, and form field values never leave your Azure subscription - the portal holds a link, not the document.

Requester notifications are separate

The table above covers signer-facing emails only. REFRACT eSign can also notify the person who requested the document (per-signer notices, documents-ready, decline, revoke, and seal-failure), but only when requestedByEmail is set on templateSettings.esign. See Requester Notifications for the full breakdown and why generatedBy does not substitute for it.

If strict zero-transit is required

If your requirements prohibit any notification metadata transiting REFRACT Shared Services, customer-acs provides that for REFRACT Delivery and REFRACT Workflow. It does not currently provide it for REFRACT eSign. Contact us to discuss your requirements.


Environment Variable Reference

Settingvault-shared (default)customer-acs
EMAIL_PROVIDERvault-shared or blankcustomer-acs
VAULT_NOTIFICATION_API_URLrequirednot needed
VAULTNOTIF_SIGNING_KEYrequirednot needed
ACS_EMAIL_ENDPOINTblankcustomer's ACS URL
ACS_EMAIL_KEYblankcustomer's ACS key

Required variables for customer-acs mode:

VariableSet onDescription
EMAIL_PROVIDERDispatcher + ProcessorSet to customer-acs on both Function Apps
ACS_EMAIL_ENDPOINTDispatcher + ProcessorYour ACS endpoint URL
ACS_EMAIL_KEYDispatcher + ProcessorYour ACS access key
ACS_EMAIL_FROMDispatcher + ProcessorVerified sender address (e.g. noreply@contoso.com)

Choosing a Mode

vault-sharedcustomer-acs
Setup requiredNone (default)ACS resource in your tenant; set on both Function Apps
REFRACT Shared Services in notification pathYes (metadata only - email address, portal link, notification type)No, for REFRACT Delivery and REFRACT Workflow. Yes for REFRACT eSign signer emails.
Document data crosses boundaryNeverNever
Applies toREFRACT Delivery, REFRACT WorkflowREFRACT Delivery, REFRACT Workflow
Use whenStandard deploymentsZero-transit requirements for REFRACT Delivery and REFRACT Workflow notification metadata

What Each Product Sends

ProductNotificationRouted via EMAIL_PROVIDER
REFRACT DeliveryRecipient delivery invitationYes
REFRACT DeliveryOTP code (when requireOtp: true)Yes
REFRACT WorkflowParticipant portal linkYes
REFRACT WorkflowApprover notificationYes
REFRACT WorkflowChange-request and resubmission notificationsYes
REFRACT eSignSigner invitation (initial + sequential)No - sent by the REFRACT eSign Portal
REFRACT eSignOTP access codeNo - sent by the REFRACT eSign Portal
REFRACT eSignCompletion notificationNo - sent by the REFRACT eSign Portal
REFRACT eSignDocuments-ready notificationNo - sent by the REFRACT eSign Portal

Data Sovereignty

In both modes, and for every product including REFRACT eSign, document content, rendered PDF bytes, form field values, signature images, and file attachments are never included in any notification message. Notifications carry only the minimum metadata required to perform delivery: recipient email, portal access link, notification type, and document name.

On this page