Check That Customers Can Only See and Change Their Own Information
Use two test accounts to check every page, file, search result, and editing action, then repeat the checks whenever your app changes.
before you start
Signing in does not prove that information is separated. Your app must check which account owns each item before showing or changing it.
Understand what customer separation means
in plain words
Each customer should see and change only the records, files, settings, and other information that belong to their account.
Your app may store appointments, orders, addresses, notes, uploaded files, invoices, team members, or preferences. Every saved item should belong to a specific customer account. When someone signs in, the app should show only the items connected to that account. It should apply the same rule when the person searches, downloads a file, changes a setting, or opens a saved link. Developers call this tenant isolation: keeping each customer’s information in its own app space.
Signing in answers who the person is, but it does not automatically answer which information that person may use. The app must make that second decision for every item and every action. The technical name is authorization: deciding whether a particular signed-in person may view or change a particular item. This matters even in a small app. One missed check can expose a customer’s address, invoice, document, message, or business record to someone from another account.
- ▸Connect every customer-owned item to one customer account.
- ▸Apply the separation rule to both viewing and changing information.
common risk
A customer’s main page shows only their projects, but a new search page mixes project names from several accounts.
what to do now
Write down the kinds of customer information your app stores and identify which account should own each kind.
ask your AI
Review my entire app and list every kind of customer-owned record, file, setting, message, and report. Explain in plain language how each item is connected to its owning account and where the app checks that the signed-in account matches before showing or changing it. Flag any item that has no clear owner. Do not change the app yet; give me the findings first.
Use two accounts to make mistakes visible
in plain words
Two test accounts with noticeably different sample information help you spot information appearing in the wrong place.
Create two customer accounts made only for testing. Do not copy real names, addresses, files, or payment details into them. Give the first account items with an obvious label such as Red Company and give the second items labeled Blue Company. Add at least three records, one uploaded file, and different settings to each account. Before testing, note what each account is supposed to see. Clear differences make a wrong result easy to recognize without reading technical reports.
Sign in to the first account and visit the app through its normal menus. Check the home page, lists, item details, search, filters, recent items, notifications, reports, and files. Sign out completely before entering the second account and repeating the process. Also try refreshing pages and using the browser’s Back button. Each account should encounter only its own sample information. A missing item should not reveal another customer’s name, owner, filename, amount, or other details.
- ▸Use invented information that is easy to distinguish.
- ▸Sign out fully before switching between the two accounts.
- ▸Record the expected result before each check.
common risk
Blue Company cannot find Red Company’s document in a menu, but an old notification still displays the document’s name and download button.
what to do now
Create both test accounts today and place clearly labeled records, files, and settings in each one.
ask your AI
Create a step-by-step manual test plan for my app using two accounts named Red Company Test and Blue Company Test. Cover the home page, lists, details, search, filters, recent items, notifications, reports, uploaded files, saved links, refreshes, and the browser Back button. For every check, state what each account should see and what evidence I should record.
Check every way information can appear
in plain words
A safe home page is not enough because information may also appear through searches, files, reports, messages, and saved links.
Make an inventory of every place where customer information can appear. Include list pages, individual records, search suggestions, filtered results, totals, charts, reports, exports, attachments, shared pages, emails, notifications, and error messages. Test each place with both accounts. A refusal should reveal as little as possible. For example, saying that an item is unavailable is safer than confirming its title, customer name, price, or filename to a person who should not know it exists.
Pay special attention to links copied from the address bar, bookmarks, and messages. First open a Red Company item while signed in to Red Company and save its link. Then sign out, enter Blue Company, and open that saved link. The app must check ownership again instead of trusting that the link was previously valid. Hiding the item from Blue Company’s menu is helpful for clarity, but it does not protect the information if the saved link still opens it.
- ▸Test direct links as well as menus.
- ▸Check names, totals, previews, and error messages for unwanted clues.
- ▸Include downloads, exports, emails, and notifications.
common risk
A report hides another customer’s rows but still includes their sales in the total shown at the top.
what to do now
List every place that shows, summarizes, sends, or downloads customer information, then mark each one as passed or needing repair.
ask your AI
Inventory every place in my app that can show, summarize, send, or download customer information, including pages, search suggestions, totals, reports, files, exports, emails, notifications, previews, and error messages. For each place, require a fresh check that the signed-in account owns the requested information. If the check fails, show a simple unavailable message without revealing names, amounts, filenames, owners, or other details.
Try changing and deleting information too
in plain words
The app must stop one customer from editing, deleting, exporting, or sending information owned by another customer.
Viewing is only half of the test. For every kind of customer item, try the normal actions your app offers: create, rename, edit, archive, delete, upload, download, export, invite a team member, send a message, and change settings. Confirm first that the action works for the account that owns the item. Then switch accounts and confirm the other customer cannot find the item or complete the action through a saved link, a bulk action, or an old notification.
The final ownership decision must happen in the protected part of the app that reads, saves, sends, or deletes information. Developers call this a server-side check. A hidden button alone is not protection because the screen is only one way to ask the app to perform an action. The protected part must identify the signed-in account, find the item’s recorded owner, compare the two, and refuse safely when they do not match. Passwords, payment keys, and powerful access codes should also remain in that protected part.
- ▸Test editing and deleting separately.
- ▸Include bulk actions, invitations, exports, and settings.
- ▸Confirm refused actions do not partially change anything.
common risk
Blue Company cannot open Red Company’s invoice, but a bulk delete action removes invoices from both accounts.
what to do now
Choose one item of every type and confirm each available action succeeds for its owner and fails safely for the other account.
ask your AI
Review every action in my app that creates, reads, edits, archives, deletes, uploads, downloads, exports, invites, sends messages, or changes settings. In the protected part of the app, identify the signed-in account, compare it with the item’s stored owner, and continue only when they match. Cover single-item and bulk actions. Refuse mismatches without revealing details or making partial changes, and add automated tests using two different customer accounts.
Repeat the checks whenever the app changes
in plain words
New pages, reports, connections, and AI-made updates can accidentally mix information that was previously separated.
Keep the two test accounts after the app is available to customers. Repeat the checks whenever you add or change anything that displays, searches, summarizes, copies, imports, exports, sends, or deletes customer information. Pay particular attention to AI-generated summaries, shared workspaces, staff tools, file storage, email messages, payment records, and reporting services. Write down the date, the feature tested, the two accounts used, and the result. This creates a simple history of what you actually verified.
VibeCodeWall can add an outside view by checking the public app from the outside and watching for important changes over time. It does not see your private code, and it cannot sign in as your test customers unless you perform those checks yourself. Use its observations as a reason to review unexpected public pages, exposed responses, or changed behavior. Continue using the two-account test because it confirms the rules that are specific to your customers, teams, shared items, and approved staff access.
- ▸Retest every feature that handles customer information.
- ▸Keep a short dated record of the results.
- ▸Combine outside monitoring with your own signed-in checks.
common risk
A new AI-made activity summary combines recent notes from several customer accounts because the old ownership rule was not applied to the new feature.
what to do now
Add the two-account check to your routine before making any customer-information change available, and repeat it after important updates.
ask your AI
Build a repeatable safety test for my app with Red Company Test and Blue Company Test. Run it whenever customer-information features change. Verify lists, details, searches, totals, files, reports, saved links, edits, deletes, bulk actions, exports, messages, invitations, and AI-made summaries. Confirm each account can use only its own information, record every failure clearly, and do not use real customer data.
Quick checklist
- 01Create two separate test customer accounts without using real customer information.
- 02Add clearly different records, files, and settings to each account.
- 03Visit every customer page while signed in to each account.
- 04Test viewing, searching, editing, deleting, downloading, and sharing.
- 05Confirm that saved links and notifications do not open another customer’s information.
- 06Ask your AI builder to check ownership where information is read or changed.
- 07Keep passwords, payment keys, and powerful access codes in the protected part of the app.
- 08Repeat the two-account test whenever the app changes.
- 09Use VibeCodeWall to check the public app from the outside and watch for important changes over time.
FAQ
Is signing in enough to keep customer information separated?
No. Signing in identifies the person. The app must also compare the owner of each requested item with the signed-in account before showing or changing it.
Do I need to know how to program?
No. You can perform the visible checks with two test accounts and paste the provided requests into your AI builder for the deeper review and automated tests.
What should happen when someone asks for another customer’s item?
The app should refuse the request without revealing the item’s name, owner, amount, filename, or other details. It should not make even a partial change.
How often should I repeat these checks?
Test before customers use the app and after every change involving customer information, searches, files, reports, messages, connected services, or shared access.