Insurance apps handle sensitive personal data and complex multi-step flows. A deep link to a claim status needs to authenticate the user and show the correct claim. A deep link from a renewal email needs to take the user directly to the renewal screen with their policy details pre-loaded. A deep link from an accident notification needs to open the claims filing flow immediately.
This guide covers deep linking patterns specific to insurance apps. For broader fintech deep linking, see deep linking for fintech and banking apps. For onboarding deep links, see banking app onboarding deep links.
Route Patterns
Policies
/policies → All policies overview
/policies/{policy-id} → Specific policy detail
/policies/{policy-id}/documents → Policy documents
/policies/{policy-id}/coverage → Coverage breakdown
/policies/{policy-id}/renew → Renewal flow
Claims
/claims → Claims history
/claims/{claim-id} → Claim status and detail
/claims/new → Start a new claim
/claims/new/{policy-id} → Start claim for specific policy
/claims/{claim-id}/documents → Claim documents
/claims/{claim-id}/adjuster → Contact assigned adjuster
Quotes
/quotes → Saved quotes
/quotes/{quote-id} → Specific quote detail
/quotes/new/{product} → Start new quote (auto, home, life)
/quotes/{quote-id}/purchase → Convert quote to policy
Account
/payments → Payment history
/payments/make → Make a payment
/cards/{card-id} → ID card for a policy
/profile/beneficiaries → Beneficiary management
Critical Deep Link Flows
Claims Filing
The claims flow is the most important deep link in insurance apps. When a user has an accident or experiences a loss, they need to file a claim quickly:
func handleClaimsDeepLink(_ url: URL) {
let segments = url.pathComponents
guard authManager.isAuthenticated else {
pendingDeepLink = url
showLogin()
return
}
if segments.contains("new") {
// Starting a new claim
let policyId = segments.last != "new" ? segments.last : nil
startClaimFlow(policyId: policyId)
} else if let claimId = segments.last, segments.contains("claims") {
showClaimDetail(claimId: claimId)
}
}
func startClaimFlow(policyId: String?) {
if let policyId = policyId {
// Pre-select the policy
let policy = policyManager.getPolicy(policyId)
showClaimForm(preselectedPolicy: policy)
} else if policyManager.policies.count == 1 {
// Only one policy, auto-select
showClaimForm(preselectedPolicy: policyManager.policies.first)
} else {
// Multiple policies, let user choose
showPolicySelector(for: .claim)
}
}
Policy Renewal
Renewal deep links from emails should take the user directly to the renewal screen:
fun handleRenewalDeepLink(policyId: String) {
if (!authManager.isAuthenticated) {
pendingDeepLink = "/policies/$policyId/renew"
showLogin()
return
}
val policy = policyRepository.getPolicy(policyId)
if (policy == null) {
showError("Policy not found. Please contact support.")
return
}
when (policy.renewalStatus) {
RenewalStatus.PENDING -> showRenewalForm(policy)
RenewalStatus.RENEWED -> showPolicyDetail(policy, message = "This policy has already been renewed.")
RenewalStatus.EXPIRED -> showReapplicationFlow(policy)
}
}
ID Card Access
Digital insurance ID cards need to be accessible instantly:
/cards/{policy-id}
This deep link should:
- Authenticate the user.
- Display the digital ID card for the specified policy.
- Support offline access (cache the card for when there is no connectivity).
- Allow saving to Apple Wallet or Google Wallet.
Email Deep Links
Insurance companies send many transactional emails. Each should contain a relevant deep link:
Renewal Reminder
<p>Your auto insurance policy #POL-12345 expires on August 15, 2026.</p>
<a href="https://links.insuranceapp.com/policies/POL-12345/renew">
Renew Your Policy
</a>
Claim Update
<p>Your claim #CLM-789 has been updated.</p>
<p>Status: Under Review</p>
<a href="https://links.insuranceapp.com/claims/CLM-789">
View Claim Status
</a>
Payment Due
<p>Your premium payment of $125.00 is due on July 20, 2026.</p>
<a href="https://links.insuranceapp.com/payments/make">
Make Payment
</a>
New Document Available
<p>Your updated policy documents are ready.</p>
<a href="https://links.insuranceapp.com/policies/POL-12345/documents">
View Documents
</a>
Push Notification Deep Links
| Notification | Deep Link | Priority |
|---|---|---|
| Claim status update | /claims/{claim-id} |
High |
| Payment due reminder | /payments/make |
High |
| Policy renewal reminder | /policies/{id}/renew |
High |
| New document available | /policies/{id}/documents |
Normal |
| Coverage recommendation | /quotes/new/{product} |
Low |
| Roadside assistance | /assistance |
Critical |
Security Requirements
Authentication Levels
Insurance apps should use tiered authentication for deep links:
| Content | Auth Required | Additional Verification |
|---|---|---|
| Quote (no PII) | None | None |
| ID card display | Biometric or PIN | None |
| Policy details | Full login | None |
| Claim filing | Full login | None |
| Payment | Full login | Biometric confirmation |
| Beneficiary changes | Full login | Step-up verification |
Data Minimization on Web Fallback
The web fallback page for an insurance deep link should never show:
- Policy numbers
- Personal information
- Claim details
- Payment information
The fallback should show a generic page: "Download [Insurance App] to view your policy details."
Regulatory Compliance
Insurance is heavily regulated. Deep links must comply with state and federal regulations:
- HIPAA (health insurance). Deep links to health insurance claims or benefits must be encrypted and authenticated. Web fallback pages must not expose protected health information.
- State insurance regulations. Marketing deep links (links to quotes or product pages) must comply with the insurance department's advertising requirements in each state.
- Electronic delivery consent. Before sending policy documents via deep link, verify the policyholder has consented to electronic delivery per UETA and E-Sign Act requirements.
Tolinku for Insurance Apps
Tolinku supports the route patterns insurance apps need. Define routes for policies, claims, quotes, and payments in the Tolinku dashboard. Web fallback pages can be configured to show generic content without exposing sensitive data.
For deep link routing patterns, see deep link routing guide. For fintech deep linking, see deep linking for fintech and banking apps.
Get deep linking tips in your inbox
One email per week. No spam.