Concept guide

What is an Image?

Images can be attached to profile pages, notes, team pages, trackables, and trackable groups. LocationNotes screens uploads before save, stores only resized JPEG copies, and makes image visibility follow the parent item exactly.

How visibility works

Image access is not a separate permission system. If a visitor can open the connected profile, note, team, trackable, or trackable-group page, that same visitor can open the images attached to it. If they cannot open the parent item, they cannot open the related images either.

What is stored

LocationNotes does not keep the original full-size upload. After the safety screen passes, the server saves only resized JPEG variants so pages and Android clients can load them directly without on-the-fly resizing.

The large, medium, and small files keep the original proportions while fitting inside the target size. The thumbnail is always cropped to a square 64 x 64 version.

Gallery cards may still show the original upload dimensions for reference, but the downloadable website and API files are only these resized JPEG variants.

Upload safety screen

Before an image is saved, LocationNotes sends it through an OpenAI moderation check for adult or otherwise unsafe content. This helps reduce harmful uploads, but it is not a perfect guarantee that every bad image will be caught.

What can and cannot be posted

Reporting and support tickets

Every image card can show the compact inappropriate-content reporting control. Use it when an image is offensive, adult, deceptive, or does not belong on the connected profile, note, team, trackable, or trackable-group page.

Signed-in reporters can choose to track the support ticket and follow the review status after a super-admin reviews it.

Exports and deletion

When an image is deleted, LocationNotes removes the image record and all of its stored resized copies together. The same GUID-backed image records are also the basis for broader account and team data handling so they stay traceable alongside the parent content they belong to.

Website gallery delete buttons post to the localized website route, while API clients delete the same image record with DELETE /api/images/{contentImageId}.

Related pages