Tutorial · Base44

Set Up Base44 Permissions for a Read-Only Owner Portal

Give each owner access to their assigned sample records, separate app entry from data permissions, and test access with two users.

A portal can show each owner the right cards and still expose the wrong records if its data rules are too broad. This tutorial designs a small read-only owner view and checks it with two sample users. The objective is clear: owner A can read their assigned records and cannot read owner B’s.

Start with synthetic data in a separate app. This is a documentation-based configuration recipe, not a security certification or a claim that we tested a real customer portal.

1. Separate three kinds of access

First decide who can open the app. Then decide which records those people can read or change. Finally decide who can edit the application itself.

Base44’s app-access guide distinguishes visibility, live-app roles and editor collaborators. Giving someone an app role is different from inviting them to maintain its editor. Private visibility also has plan requirements; confirm those before choosing it.

For our first portal, owners need read access to assigned property summaries. They do not need dashboard/editor access, the ability to reassign a property or permission to delete records.

A four-part access model: control entry, assign records through a trusted administrator, apply read-only data rules, and compare two user accounts.
Figure 1. An original access model for the sample portal. A hidden menu is not a substitute for a data rule.

2. Define a tiny access matrix

Use two sample users that you control. The values OWNER-A and OWNER-B below are labels, not email addresses to invite. Replace the account fields with your actual controlled test accounts when configuring the app.

Actor Read assigned record Read another owner’s record Create, update or delete properties
Owner A Yes: TEST-P001 No: TEST-P002 No
Owner B Yes: TEST-P002 No: TEST-P001 No
Trusted app administrator Yes Yes Only the intended administrative actions
Signed-out visitor No No No

Figure 2. The intended permissions matrix. Fill in actual pass/fail observations during your test.

Ask for a Properties table with a stable property reference and a trusted owner_email assignment. Keep the assignment administrative: an ordinary owner must not be able to edit a record to assign themselves someone else’s property.

3. Ask Base44 for record-level rules

Create a read-only owner portal using synthetic property summaries.
Each Properties record has property_reference, display_name,
public_summary and owner_email.

A signed-in ordinary user may read a record only when owner_email
matches that authenticated user's email. Ordinary users cannot
create, update, delete or change owner_email.
Trusted app admins may manage the sample assignments.
Signed-out visitors must not read these records.

Enforce this in data permissions, not just page filtering.
Explain each Create, Read, Update and Delete rule before applying.
Keep owners out of the app editor and collaborator access.

The official data-permissions guide documents record-to-user field comparison and action-specific rules. Inspect the generated rules through Dashboard → Data → the table → Permissions. A comparison field must match the actual stored field name and authenticated account property.

Review every rule that grants Read. The guide explains that matching any permitted rule can grant access. A broad alternative rule can defeat an otherwise correct owner comparison.

4. Test as both users

Use Base44’s permission-testing preview to compare sample users, then verify the intended published-app path with controlled accounts before admitting real owners. Preview actions can write records, so stay within synthetic data.

As owner A, confirm TEST-P001 is visible. Attempt to open TEST-P002 using a direct detail link you recorded as the administrator. Then repeat the exercise as owner B. Check signed-out behavior in a separate browser session, rather than assume logging out of one tab changed every session.

Try the negative actions as well: record creation, reassignment, update and delete should be denied for the ordinary users. If you have a technical reviewer, ask them to verify the underlying data requests; a page that hides the edit button does not demonstrate authorization.

5. Keep the first owner view read-only

Do not add messages, files and maintenance details to the same first test. Each new record type and relationship needs its own access design. A protected Properties table does not automatically protect a separate Documents table linked to it.

If an owner needs to request a correction, provide an explicit separate process. Granting broad write access to solve a missing correction path creates a different problem.

Troubleshooting

  • Both owners see everything: inspect broad read rules and the authenticated account actually selected in the test.
  • Neither owner sees anything: check exact stored assignments and comparison fields before loosening the rule.
  • Only the menu is hidden: verify record access directly; interface visibility is not enough.
  • An owner can change assignments: remove their update permission and inspect any custom action that bypasses it.

Stop the rollout if the access matrix fails. Add real records only after an accountable reviewer has checked the relevant rules, negative tests and data scope.

Features and plan requirements can change. Check the linked official documentation before applying changes to a live account.