Security and daily use - Notion
Scopes and inheritance
Notion configuration has two levels: account and project - exactly the same shape as Jira. A project with no token of its own inherits the account's token, but keeps its own database, because that is the whole point of a per-project configuration: different projects on the same account can report to different databases while sharing one integration token. Dock's internal account additionally falls back to the platform configuration when it has none of its own - subscribers never see it.
Who has access
The Notion screens require the same permission as Jira - managing projects. There is no separate permission for the integration itself, because connecting or disconnecting Notion is part of managing the project.
The integration token and how it is protected
The token is stored encrypted in DockRay and never returns to the form - a blank field on save means 'keep the current token', not 'clear it'. Unlike Jira there is no second factor such as an e-mail address here: the integration token is the only secret, so protecting it comes down to one thing - it never travels anywhere beyond the DockRay panel and Notion's own integration configuration.
Property names belong to the customer
DockRay does not save the database's property names - it reads the schema live, at the moment the page is created, and takes the first property of type title, people and status. That means a plain rename in Notion (e.g. 'Person' to 'Assignee') breaks nothing - DockRay looks for a type, not a label. What does break is deleting the property of a given type, or changing its type to something else, since then DockRay simply cannot find a field that used to be there.
What goes to Notion, and what never does
The page content follows the same boundary as Jira: the description gets the relevant slice of the stack trace (the client application's own frames, or the top of the stack when there are none), and never local variable values, request headers, user data or the query string. One place in DockRay's code decides this for both integrations at once, so the two boundaries do not drift apart at the first fix.
Notion's two hard limits
Notion accepts at most one hundred blocks in a single page-creation request, and at most two thousand characters in a single text fragment - exceeding either ends in a 400 response and no page. DockRay enforces the second limit itself, splitting a long code block into two-thousand-character chunks, and caps the page content at one hundred blocks, trimming from the end of the list. With a very long stack trace and an extensive fact list, that can mean the closing paragraph with the DockRay link does not fit within the limit - the next article covers this.
Rotating the token and people leaving the team
The integration token is not tied to a specific person - it belongs to the integration itself, inside the Notion workspace. When the person who generated it leaves the team, the integration keeps working: the workspace, not the person, owns the token. If you still want to invalidate it, delete or disconnect the integration in Notion's settings and create a new one - you will then have to share every database with it again, because access to databases does not carry over automatically to a new integration.