# Files & images

There are two different situations involving files, and it helps to know which one you mean when
you ask. Your AI handles the technical side either way.

## 1. Files your visitors upload

When you want **people using your app** to upload something — a profile photo, an attachment, a
document — just describe it:

> *"Let visitors attach a photo when they post a message, and show the photo with their message."*

These uploads are **private by default**: your app decides who can see them and serves them
securely. This is the right choice for user-generated content like avatars and attachments.

## 2. Images you provide yourself

When **you** want to ship an image as part of the app — a logo, a background, an icon, a hero
photo — that's a different kind of file. Tell your AI you want to add it:

> *"Use this image as the site logo in the top-left corner."*

If your AI can see or fetch the image, it can place it for you. These developer-provided assets
are **public** (anyone viewing the app can load them, like any normal website image) and they get
a permanent web address.

## Your app's icon (favicon & app logo)

Every app gets an **icon automatically** — the little picture that shows in the browser tab,
and the one your phone uses if someone adds the app to their home screen. Out of the box it's a
simple letter-on-a-colour icon based on your project name, so a brand-new app already looks
finished. You don't have to do anything.

When you want your own brand there, give your AI a logo:

> *"Here's our logo — use it as the app's icon."*

Hand it one square image (a PNG or an SVG works best) and onvibe turns it into every size and
shape the different devices need — browser tab, iPhone home screen, Android install, and so on.
A logo change can take a few minutes to show because browsers remember the old one for a while.

## Which one do I want?

| You want… | That's… |
|---|---|
| Your users to upload photos/files at any time | visitor uploads (private) |
| To add your own logo, icons, or background | provided images (public) |
| A gallery people contribute to | visitor uploads (private) |
| Decorative graphics that are part of the design | provided images (public) |

## Good to know

- Individual uploads have a size limit and each project has a total storage allowance — see
  [Limits & good to know](/docs/limits).
- If you don't say which kind you mean, your AI will usually infer it from context; if it guesses
  wrong, just clarify ("no, I mean files *my visitors* upload").
