# How do public catalogs differ from private visitor records?

Canonical: https://uvilno.com/answers/can-generated-apps-use-public-shared-records
Updated: 2026-10-27

Uvilno distinguishes private visitor-owned collection rows from public-read catalog data. Public reading does not grant writing, and an Admin view cannot override ownership. Choose the access contract, test separate identities and avoid placing sensitive information into a shared catalog merely to simplify a generated interface.

A product catalog may legitimately be readable by every visitor, while a cart, draft inquiry or private task belongs to one account. Model these as different records and operations rather than hiding sensitive fields only in the UI. Server permissions must enforce the difference.

The owner App Data manager has its own authenticated management path. That does not mean an ordinary visitor can perform every owner operation through the generated site. Test list, detail, create and update behavior with signed-out and separate signed-in visitors.

## What to verify

| Check | Published behavior | Verification |
| --- | --- | --- |
| Private data | Visitor ownership controls protected records. | Use another visitor to attempt access. |
| Public catalog | Explicit shared reading is a separate declaration. | Inspect the collection access setting and exposed fields. |
| Writing | Public reading does not authorize arbitrary writes. | Exercise prohibited mutations through real service requests. |

## Steps

1. Separate public catalog fields from customer records.
2. Declare the intended access for each collection.
3. Test every operation under the real identity.

## Editable starting brief

Plan a small public product catalog with separately private visitor saved-items. Expose only approved catalog information, keep visitor selections isolated and never grant write access by changing a preview role. Use typed collections, actual service authorization and tests with two disposable visitors plus a signed-out view.

## Sources

- [Uvilno public SDK documentation](https://uvilno.com/docs)
