Security//5 min

Stop Strangers from Opening Customer Files

Customer documents, photos, receipts, and reports may be reachable without signing in. Use this practical review to find exposed files and correct who can use them.

before you start

A sign-in screen does not automatically protect saved files. Check every place that holds customer information before sharing your app widely.

Understand where customer files can become public

in plain words

Your app may store an uploaded file in a place that lets anyone with its address open it, even when the app has a sign-in screen.

Your app may ask customers for identity documents, receipts, profile photos, contracts, spreadsheets, support screenshots, or completed forms. It may also create invoices, reports, and account exports. These files are usually saved away from the screen where they were submitted. If the saving rules are too broad, a signed-out visitor may be able to open a file by following its address. The sign-in screen alone does not guarantee that the saved file is protected.

Start by listing every file the app receives and creates, including old samples and abandoned test uploads. Note where each file is saved and whether it is meant for everyone, one customer, or a small team. Developers call a file-holding location a storage bucket. A bucket is simply a container used by an app to organize saved files. It is not automatically public or protected; the rules attached to it decide who can reach its contents.

Do not rely on names such as private, internal, or customers-only. A folder name is a label, not a barrier. The important question is what happens when someone tries to open a file. Public product photos can be available to everyone, but identity documents, receipts, contracts, and personal reports normally should not be. Keeping those two groups in separate locations makes mistakes easier to notice and reduces the chance that one broad rule exposes everything.

  • ▸Include uploads, generated reports, old test files, and team documents.
  • ▸Mark each file type as public, limited to one customer, or limited to selected team members.

common risk

A customer submits a photo of an identity document. The app hides it from normal pages, but the place holding the photo allows anyone with its address to open it.

what to do now

Create a list with four columns: file type, where it is saved, who should open it, and whether it is intended for everyone.

ask your AI

Inspect this entire app and list every place that stores uploaded or generated files. For each place, name the file types and explain in plain language who can open, add, replace, and delete them. Identify any storage bucket or rule that could let a signed-out visitor reach customer files. Do not change anything yet; show me the findings first.

Choose exactly who may use each file

in plain words

Each person should be able to use only the files needed for their account or job.

For every file type, decide which people need it and what each person may do. A customer may need to open their own invoice but should not see another customer's invoice. A support worker may need to view a document for an assigned case but may not need to replace or delete it. Someone allowed to add a file does not automatically need every other ability. Treat opening, adding, replacing, and deleting as four separate choices.

The technical name for a rule that allows or refuses one of these actions is a permission. Good permissions check more than whether someone has signed in. They also check whether the requested file belongs to that customer or whether the team member has a valid work reason to use it. Write the intended rules in ordinary sentences first. This gives your AI builder a clear target and makes the proposed changes easier for you to review.

Create two harmless test accounts so you can check the result without touching real customer information. Upload a plainly labeled sample file with the first account. The second account should not find or open it. Then reverse the test. Also check whether either account can replace or delete the other's file. These tests reveal broad rules that may not be visible while you are using only an owner or team account.

  • ▸A customer normally uses only files connected to their own account.
  • ▸A team member receives only the abilities required for an assigned task.

common risk

The app checks that a person has signed in but does not check who owns the requested file, so every customer can open files from one shared location.

what to do now

Write one sentence for each file type that names who may open, add, replace, and delete it, then verify those choices with two test accounts.

ask your AI

Review every rule for stored files in this app. Make each customer able to open, add, replace, or delete only the files connected to their own account, unless I have clearly listed a different need. Keep files intended for everyone in a separate location. Show the proposed rules as plain sentences and give me a two-account test for each rule before applying changes.

Test what a signed-out visitor can reach

in plain words

A copied file address should not bypass the protection intended for customer information.

Use only a harmless file that you uploaded through a test account. Open it while signed in, copy its address, and then sign out. Open a private browsing window, which is a fresh window that does not reuse your signed-in session, and try the address again. A customer-only file should be refused. Do not guess addresses, inspect other accounts, or test real customer documents. The goal is to confirm your own rules safely.

Some apps create a short-lived address only after confirming that a customer may receive a file. The technical name is a signed URL. In plain language, it is a temporary download address with an approval mark attached. It can be useful when it expires quickly, is created only for the correct person, and cannot be reused indefinitely. It should not be displayed on a public page or treated as a replacement for correct file rules.

Repeat the check for viewing, downloading, replacing, and deleting whenever those actions exist. Record the expected result before each attempt, such as signed-out visitor is refused or second test customer is refused. If a temporary address is used, note when it was created and confirm that it stops working after the intended period. Save only the result and test-file name; avoid copying real customer information into your notes.

  • ▸Test only files belonging to your own harmless test accounts.
  • ▸Repeat the check while signed out and while using the second test account.

common risk

A temporary download address is pasted into a support message and continues opening a customer report long after the conversation ends.

what to do now

Test one sample file while signed in, signed out, and signed in as the second test customer; record whether each result matches your written rule.

ask your AI

Create a safe, step-by-step test plan for this app using two new test accounts and harmless sample files. Cover opening, downloading, replacing, and deleting files while signed in, signed out, and signed in as the other test customer. If the app creates temporary download addresses, include a check that they expire. Do not use real customer files or attempt to enter other people's accounts.

Remove passwords and payment keys from public files

in plain words

Anything that opens customer information, sends messages, or spends money must stay where visitors cannot download it.

Your app may need a database password, payment key, email access code, or administrator code to perform important work. A database is the organized system where the app keeps records such as customer names and orders. These items can open protected information, create charges, issue refunds, or send messages as your business. They must not appear inside pages or files delivered to visitors, even when those values are difficult to notice.

Developers call a password, payment key, or access code with this power a secret. The safe arrangement is to keep it in a protected setting used only by the computer that performs the work. Developers call that computer-side area the server side. Your AI builder may manage these protected settings for you. Ask it to explain where each item is held and confirm that visitors receive only the result of the work, never the password, key, or code itself.

If one of these items was ever available in a downloadable file, hiding or deleting the file is not enough. Someone may already have copied it. Disable the exposed item in the provider's official account panel, create a replacement, place the replacement in the protected setting, and check that the app still works. Also review activity records offered by the provider and follow any notice duties that apply to affected customers.

  • ▸Database passwords and administrator codes can open customer information.
  • ▸Payment keys and email access codes can spend money or act as your business.

common risk

A payment key that can create charges is placed in a file sent to every visitor because the app was built to contact the payment company directly from the visitor's device.

what to do now

Ask your AI builder to find visitor-downloadable passwords, payment keys, email access codes, and administrator codes, then replace every exposed item through its provider.

ask your AI

Check this entire app for database passwords, payment keys, email access codes, and administrator codes in any page or file a visitor can download. For every item found, explain what it can open or do, move it to a protected server-side setting, and list the exact provider items I must disable and replace. Do not print the full values in your answer or logs. Afterward, verify that visitors receive none of these values.

Check again whenever the app changes

in plain words

A new upload screen, team tool, or account feature can quietly change who reaches saved files.

Repeat the review after adding uploads, downloads, reports, team screens, account changes, or AI-generated features. Keep two test accounts and several harmless files so the same checks are easy to repeat. Record the date, the feature changed, the expected results, the actual results, and who reviewed them. A short, repeatable check is more useful than a long review that happens only once.

The technical name for repeated checks that look for important changes over time is monitoring. VibeCodeWall checks the public app from the outside, as a visitor would, and watches for important changes over time. It does not inspect the hidden project files used to build your app. Its outside checks can complement, but cannot replace, your own signed-in tests of which customer and team accounts may use each saved file.

When a test fails, pause the affected file feature if you can do so safely, correct the rule, and repeat every related test. If real customer information may have been public, preserve enough records to understand what happened without spreading the information further. Follow the notice and reporting duties that apply to your business. Replace any password, payment key, or access code that may have been included, and document the final result.

  • ▸Repeat the same signed-out and two-account tests after relevant changes.
  • ▸Combine outside checks with your own account-based file review.

common risk

A new team file viewer is added for convenience, but its rule accidentally includes uploads belonging to every customer.

what to do now

Add the file review to the completion checklist for every change involving uploads, downloads, accounts, reports, or team tools.

ask your AI

Create a repeatable completion checklist for this app. Run it after any change to uploads, downloads, accounts, reports, or team tools. Include two harmless test accounts, signed-out checks, checks that each customer sees only their own files, checks for replacing and deleting, temporary download expiry, and a record of expected versus actual results. Explain every step in beginner-friendly language.

Quick checklist

  1. 01List every customer file your app receives or creates.
  2. 02Write down who should be able to open each type of file.
  3. 03Use two test accounts and harmless test files.
  4. 04Check your test file again after signing out.
  5. 05Confirm one customer cannot open the other test customer's file.
  6. 06Review who can add, replace, and delete files.
  7. 07Separate files intended for everyone from customer files.
  8. 08Remove passwords, payment keys, and access codes from visitor-downloadable files.
  9. 09Repeat the review whenever file, account, or team features change.
  10. 10Use VibeCodeWall to check the public app from the outside and watch for important changes over time.

FAQ

Is every file available to everyone unsafe?

No. Product photos, brochures, and other material intentionally made for everyone can be available publicly. Keep them separate from customer documents and business records.

Does a sign-in screen protect all saved files?

No. The place holding each file needs its own rules that check both who the person is and whether that person should use that particular file.

Should support workers see every customer file?

Usually not. Give each worker only the files and actions needed for assigned work, and review those choices when jobs or team membership change.

What should I do if customer information may have been public?

Restrict access, preserve enough records to understand what happened, avoid copying the information further, follow applicable notice duties, and replace any exposed password, payment key, or access code.