Skip to content

Commit b536d0e

Browse files
Merge pull request #1884 from codatio/exp-361-consent-section-headers
docs(link): announce customizable consent section headers
2 parents 96ece33 + 09eb424 commit b536d0e

5 files changed

Lines changed: 135 additions & 1 deletion

File tree

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
title: "Customize the consent screen section headers in Link"
3+
date: "2026-08-14"
4+
tags: ["Product", "Update", "Link"]
5+
authors: pmckinney
6+
---
7+
8+
You can now change the wording of every section header on the Link consent screen, so the language your customers see matches the terminology they already use in your product.
9+
10+
<!--truncate-->
11+
12+
## What's new?
13+
14+
The consent screen is the final step before a user connects their platform. It groups what they're agreeing to into five expandable sections: _Purpose_, _Access_, _Account information_, _Platform data_, and _Retention_.
15+
16+
Previously, the body content of each section was customizable, but the headers were fixed. Clients told us the default wording didn't always match what their users expect, which risked confusion at the most sensitive point in the flow.
17+
18+
You can now customize all five headers, for each of the accounting, banking, and commerce integration categories independently.
19+
20+
<div
21+
style={{
22+
display: "flex",
23+
gap: "1rem",
24+
justifyContent: "center",
25+
alignItems: "flex-start",
26+
flexWrap: "wrap",
27+
margin: "1.5rem 0",
28+
}}
29+
>
30+
<figure style={{ margin: 0, textAlign: "center" }}>
31+
<img
32+
src="/img/updates/260814-consent-section-headers.png"
33+
alt="The Link consent screen showing the Purpose, Access, Account information, Platform data, and Retention sections"
34+
style={{
35+
height: "440px",
36+
width: "auto",
37+
maxWidth: "100%",
38+
border: "1px solid var(--ifm-color-emphasis-200)",
39+
borderRadius: "12px",
40+
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.08)",
41+
}}
42+
/>
43+
<figcaption
44+
style={{
45+
width: 0,
46+
minWidth: "100%",
47+
marginTop: "0.75rem",
48+
fontSize: "0.85rem",
49+
color: "var(--ifm-color-emphasis-600)",
50+
}}
51+
>
52+
The five customizable sections on the consent screen
53+
</figcaption>
54+
</figure>
55+
<figure style={{ margin: 0, textAlign: "center" }}>
56+
<img
57+
src="/img/updates/260814-consent-header-settings.png"
58+
alt="The consent section of the Link editor in the Codat Portal, showing a header field alongside the body content field for each consent section"
59+
style={{
60+
height: "440px",
61+
width: "auto",
62+
maxWidth: "100%",
63+
border: "1px solid var(--ifm-color-emphasis-200)",
64+
borderRadius: "12px",
65+
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.08)",
66+
}}
67+
/>
68+
<figcaption
69+
style={{
70+
width: 0,
71+
minWidth: "100%",
72+
marginTop: "0.75rem",
73+
fontSize: "0.85rem",
74+
color: "var(--ifm-color-emphasis-600)",
75+
}}
76+
>
77+
Header fields in the Codat Portal, alongside the existing content fields
78+
</figcaption>
79+
</figure>
80+
</div>
81+
82+
Each header accepts up to 50 characters of plain text. Leave a field empty and Link falls back to the default wording, so nothing changes visually until you set a header yourself.
83+
84+
## Who is this relevant for?
85+
86+
This update is relevant for all clients using [Link](/auth-flow/overview) to connect their customers' financial data, whether through [Hosted Link](/auth-flow/authorize-hosted-link) or the [Link SDK](/auth-flow/authorize-embedded-link).
87+
88+
It's especially useful if your product or your regulatory environment uses specific terminology for data sharing, and you want the consent screen to speak the same language as the rest of your onboarding.
89+
90+
## How to get started?
91+
92+
No action is required. Your consent screen keeps its current wording unless you choose to change it.
93+
94+
To customize a header in the [Codat Portal](https://app.codat.io):
95+
96+
1. Navigate to **[Settings > Auth flow > Link > Onboarding](https://app.codat.io/settings/link-settings/onboarding)**.
97+
2. Find the **Data access consent** section for the relevant integration category.
98+
3. Enter your wording in the header field that sits alongside each section's content field, then save.
99+
100+
If you're using the Link SDK, you can also set the headers in code using the `text` option:
101+
102+
```javascript
103+
text: {
104+
"accounting.consents.headers.purpose": "Why we need your data",
105+
"accounting.consents.headers.retention": "How long we keep it",
106+
}
107+
```
108+
109+
For more detail, see [Link settings in Portal](/auth-flow/customize/customize-link#data-access-consent) and the [custom text options](/auth-flow/customize/sdk-customize-code#custom-text) reference.

‎docs/auth-flow/customize/customize-link.md‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,20 @@ This is a mandatory field where you need to specify the message you want to disp
8686

8787
Optionally, you can add a message and a URL for terms and conditions you'd like your clients to read before they share their data with you.
8888

89+
The consent screen groups this messaging into five expandable sections. Each section has a header and a body of content, both of which you can customize for the accounting, banking, and commerce integration categories independently:
90+
91+
| Section | Default header |
92+
| ------------------- | --------------------- |
93+
| Purpose | `Purpose` |
94+
| Access | `Access` |
95+
| Account information | `Account information` |
96+
| Platform data | `Platform data` |
97+
| Retention | `Retention` |
98+
99+
Headers are plain text and limited to 50 characters. Leave a header field empty to use the default wording.
100+
101+
The Link settings in the Portal apply to the `en-US` locale. To set headers for other locales, or to override them at runtime, use the [custom text options](/auth-flow/customize/sdk-customize-code#custom-text) in the Link SDK.
102+
89103
#### Data type information
90104

91105
List the data you're going to collect for each of the integration categories (accounting, banking, or commerce). This informs the user which data types Codat will use after linking the data source.

‎docs/auth-flow/customize/sdk-customize-code.md‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,13 @@ The property accepts Markdown, meaning you can add links, lists, tables, and mor
162162
| `accounting.consents.termsAndConditions`<br/>`banking.consents.termsAndConditions`<br/>`commerce.consents.termsAndConditions` | `string` _(accepts Markdown)_ <br/><br/>Text displayed on the final flow page before connecting an accounting, banking or commerce platform, underneath the list of data types. Use this to display terms and conditions links using Markdown. |
163163
| `accounting.consents.purpose`<br/>`banking.consents.purpose`<br/>`commerce.consents.purpose` | `string` _(accepts Markdown)_ <br/><br/>Specifies the purpose of the data access. Accepts `{companyName}` and `{platformName}` replacements, such as `Allow {companyName} to access {platformName} data.` |
164164
| `accounting.consents.access`<br/>`banking.consents.access`<br/>`commerce.consents.access` | `string` _(accepts Markdown)_ <br/><br/>Specifies the type of access to the data that's required (e.g., read and write). Accepts `{companyName}` and `{platformName}` replacements, such as `Allow {companyName} to access {platformName} data.` |
165-
| `accounting.consents.accountInfo`<br/>`banking.consents.accountInfo`<br/>`commerce.consents.accountInfo` | `string` _(accepts Markdown)_ <br/><br/>Specifies the account information the user will be sharing with your company. Accepts `{companyName}` and `{platformName}` replacements, such as `Allow {companyName} to access {platformName} data.` |
165+
| `accounting.consents.accountInformation`<br/>`banking.consents.accountInformation`<br/>`commerce.consents.accountInformation` | `string` _(accepts Markdown)_ <br/><br/>Specifies the account information the user will be sharing with your company. Accepts `{companyName}` and `{platformName}` replacements, such as `Allow {companyName} to access {platformName} data.` |
166166
| `accounting.consents.retention`<br/>`banking.consents.retention`<br/>`commerce.consents.retention` | `string` _(accepts Markdown)_ <br/><br/>Specifies the conditions for data retention. Accepts `{companyName}` and `{platformName}` replacements, such as `Allow {companyName} to access {platformName} data.` |
167+
| `accounting.consents.headers.purpose`<br/>`banking.consents.headers.purpose`<br/>`commerce.consents.headers.purpose` | `string` <br/><br/>Header of the purpose section on the consent screen. Plain text, up to 50 characters. Defaults to `Purpose`. |
168+
| `accounting.consents.headers.access`<br/>`banking.consents.headers.access`<br/>`commerce.consents.headers.access` | `string` <br/><br/>Header of the access section on the consent screen. Plain text, up to 50 characters. Defaults to `Access`. |
169+
| `accounting.consents.headers.accountInformation`<br/>`banking.consents.headers.accountInformation`<br/>`commerce.consents.headers.accountInformation` | `string` <br/><br/>Header of the account information section on the consent screen. Plain text, up to 50 characters. Defaults to `Account information`. |
170+
| `accounting.consents.headers.platformData`<br/>`banking.consents.headers.platformData`<br/>`commerce.consents.headers.platformData` | `string` <br/><br/>Header of the platform data section on the consent screen. Plain text, up to 50 characters. Defaults to `Platform data`. This section is only displayed if data types are configured for the source type. |
171+
| `accounting.consents.headers.retention`<br/>`banking.consents.headers.retention`<br/>`commerce.consents.headers.retention` | `string` <br/><br/>Header of the retention section on the consent screen. Plain text, up to 50 characters. Defaults to `Retention`. |
167172
| `accounting.dataAccess.nextButton`<br/>`banking.dataAccess.nextButton`<br/>`commerce.dataAccess.nextButton` | ⚠️ **Deprecated**: Use `accounting.consents.nextButton`, `banking.consents.nextButton`, or `commerce.consents.nextButton` instead. <br/><br/> `string` <br/><br/> Text displayed on the primary (continuation) button of the final flow page before connecting an accounting, banking or commerce platform. By default, this option is set to `Next`. |
168173
| `accounting.consents.nextButton`<br/>`banking.consents.nextButton`<br/>`commerce.consents.nextButton` | `string` <br/><br/>Text displayed on the primary (continuation) button of the final flow page before connecting an accounting, banking or commerce platform. By default, this option is set to `Next`. |
169174
| `accounting.dataAccess.dataTypes`<br/>`banking.dataAccess.dataTypes`<br/>`commerce.dataAccess.dataTypes` | ⚠️ **Deprecated**: Use the `dataTypes` property in the <a href="https://docs.codat.io/auth-flow/customize/sdk-customize-code#source-types">Source types</a> configuration instead. <br/><br/> `array[string]` _(accepts Markdown)_ <br/><br/> List of requested data types displayed on the final flow page before connecting an accounting, banking or commerce software. |
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)