Custom signing domains
Organizations can give signers their own address, such as sign.customer.com, in Admin → Settings (see Organization settings). Signing emails then link to that address, and the signer pages are served on it. Staff keep using the app in Teams and at APP_URL.
This uses Cloudflare for SaaS custom hostnames: the customer adds a CNAME record to a hostname on your Cloudflare zone, Cloudflare validates it and issues the certificate, and forwards the requests to your server with the customer’s hostname.
- Put your domain on Cloudflare and enable SSL/TLS → Custom Hostnames (Cloudflare for SaaS) on the zone.
- Create the fallback origin: a proxied DNS record that points to your server, for example
origin.example.com, and set it as the fallback origin under Custom Hostnames. Your server answers for any hostname, so nothing else is needed there. - Create the CNAME target customers point at, for example
customers.example.com, as a proxied CNAME to the fallback origin. - Create an API token with the zone permission SSL and Certificates: Edit, limited to this zone.
- Configure the API:
With
Terminal window CLOUDFLARE_API_TOKEN=…CLOUDFLARE_ZONE_ID=… # Overview page of the zoneCUSTOM_DOMAIN_CNAME_TARGET=customers.example.comCLOUDFLARE_API_TOKENset,CUSTOM_DOMAINSdefaults tocloudflare. SetCUSTOM_DOMAINS=offto hide the feature.
How it behaves
Section titled “How it behaves”- Validation and certificates use Cloudflare’s HTTP validation, so the customer’s CNAME record is the only DNS change. The API checks pending domains every 5 minutes, and Tenant Owners can choose Check now.
- Links in invitations, reminders and completion emails use the custom domain only while it’s active. The in-app Sign now link for colleagues keeps using
APP_URL, so it works inside Teams. - On a custom domain the server serves only the signer pages and their API, and only for that organization’s signing requests. Other app pages redirect to
APP_URL; other API calls return 404. - Removing a domain deletes the custom hostname in Cloudflare. Links in emails already sent with that domain stop working, and the settings page warns about this.
Development
Section titled “Development”Without CLOUDFLARE_API_TOKEN, development uses a simulated Cloudflare (CUSTOM_DOMAINS=fake): a domain you add is pending until the first Check now, then active. fake isn’t allowed in production.