Who Owns a Record Created from a Custom Frontend

Learn who Knack sets as the owner of a record when it's created by import, by the Knack MCP Server, or from a custom frontend, and why it matters for data access control.

What You'll Learn

Record ownership in Knack is set by the Owned By field, and who ends up as the owner depends on how the record was created. This article shows the owner you'll get from each method and when it affects what your users can see.

Who Owns a Record, by How It Was Created

How the record was createdOwned By
CSV import in the Knack BuilderApp Builder
Knack MCP Server, for example an AI builder migrating dataApp Builder
Custom frontend using the signed-in user's Knack sessionThe signed-in user

App Builder is one of Knack's system users. It stands in for records that no signed-in user created.

Why Ownership Matters

Data access control can give a role different access to records it owns versus all other records. If a role can only see its own records, ownership decides what each user sees.

A record owned by App Builder isn't owned by any user. So if your users can only see records they own, they won't see migrated or imported records, even ones that belong to them.

If every role in your app has the same access to all records, ownership doesn't change what anyone sees.

📘

Ownership isn't the same as a connection

A credential can be connected to a provider without being owned by that provider's user account. Access rules based on ownership look at Owned By, not at your connection fields.

Fixing Ownership on Migrated Records

If your access rules depend on ownership, update Owned By on migrated records after the move so each record belongs to the right user. You can do this with a batch update in the Knack Builder.

Plan this before you migrate. It's easier to decide who should own each record while you still have the source data in front of you.

How to Check Who Owns a Record

Open the table in the Knack Builder and scroll to the Owned By column. Knack adds it to every table automatically, along with Created By and Updated By.

To test your frontend, add a record from your app while signed in, then find it in the Builder. Owned By should show the user you signed in as.

⚠️

Check ownership before you rely on "own records" access

If Owned By shows App Builder on records your users should see, those users will get empty screens. An empty screen can look like there's simply no data, so check the Owned By column directly.

Next Steps


Did this page help you?