How ToS Links Work
1
Generate ToS link
Create a unique ToS link with a UUID that will serve as the signed agreement
ID.
2
Present to user
Display the ToS page to your user (via redirect or embedded flow).
3
User accepts
User reviews and accepts HIFI’s terms and privacy policy.
4
Create user account
Use the same UUID (signedAgreementId) to create the user account.
Implementation Options
You can implement ToS acceptance in two ways depending on your application flow:Redirect Flow (Recommended)
Redirect users to a HIFI-hosted ToS page. Best for onboarding flows where redirection is acceptable. Advantages:- HIFI handles the entire ToS presentation and acceptance
- Automatic styling and updates to terms
- Can be white-labeled with your branding (contact support)
- Onboarding new users in a web application
- User can navigate away and return to your app
- You want HIFI to manage ToS updates automatically
Embedded Flow
Display ToS acceptance inline within your application. Best for embedded experiences where redirection breaks the user experience. Advantages:- User stays within your application
- Complete control over UI/UX
- Works in mobile apps and embedded contexts
- Building mobile applications
- Creating embedded financial widgets
- User cannot be redirected out of your application
Redirect Flow Implementation
1
Generate ToS link
Create a ToS link using the Generate ToS Link endpoint.Request:Request Fields:
- idempotencyKey (required): Unique UUID that will become the signedAgreementId. Generate a new UUID for each user.
- redirectUrl (optional): URL to redirect user after accepting ToS. Include query parameters if needed.
- templateId (optional): Custom ToS template ID from HIFI Dashboard. Omit to use HIFI’s default template.
2
Redirect user
Redirect the user to the returned
url. They’ll see HIFI’s ToS page where they can review and accept the terms.3
Handle redirect back
After the user accepts, they’re redirected to your
redirectUrl. The signedAgreementId matches your original idempotencyKey.4
Create user
Use the
signedAgreementId when creating the user account:Embedded Flow Implementation
For applications where redirection isn’t possible, display ToS acceptance inline.1
Display terms inline
Show users HIFI’s terms and privacy policy links within your application:
2
Generate ToS link
When the user checks the box, generate a ToS link to get the session token:
3
Accept ToS programmatically
Call the accept endpoint to record the user’s consent:
4
Create user
After successful ToS acceptance, create the user with the
signedAgreementId:Referencing Privacy Policy
You can also reference HIFI’s terms within your own privacy policy:Custom Templates
White-label the ToS page with your branding:- Contact Support: Request custom template creation
- Provide Branding: Share your logo, colors, and any custom terms
- Receive Template ID: HIFI creates a template and provides the ID
- Use Template ID: Include
templateIdwhen generating links
Key Concepts
Signed Agreement ID
Signed Agreement ID
The
signedAgreementId serves two purposes:- Idempotency key when generating the ToS link
- Proof of consent when creating the user account
Why ToS Is Required
Why ToS Is Required
HIFI must collect explicit user consent to:
- Process personal and financial data
- Comply with privacy regulations (GDPR, CCPA, etc.)
- Establish terms of service for financial operations
ToS Link Expiration
ToS Link Expiration
ToS links do not expire. However, the acceptance is only valid when the user
completes the flow. If a user doesn’t accept within your onboarding session,
generate a new link with a new UUID.
Testing ToS Flow
Testing ToS Flow
In sandbox environment:
- ToS links work identically to production
- Use test signedAgreementIds for testing
- Verify the entire flow before going live
Getting Help
- 📧 Email: support@hifi.com
- 💬 Slack: Message us in our shared Slack channel
Related Resources
- Users - Create user accounts after ToS acceptance
- HIFI Terms & Conditions - View the terms users accept
- HIFI Privacy Policy - View the privacy policy users accept
- API Reference - Complete endpoint documentation