EXIF and GPS
Users upload photos, and you must not keep their coordinates
You do not add a stripping step to your pipeline and you do not have to remember it exists. keepix re-encodes every original on intake, before anything is stored, so EXIF, GPS and the camera serial number never reach the disk — and cannot be taken back out of a file later.
Why this matters more than it looks
The coordinates of someone's home in the metadata of a review photo are a leak nobody will notice. It raises no error, reaches no log and breaks no page. It is found later, by someone who was looking for it.
That is why stripping is not a setting you can forget to switch on. It is part of the intake path, and the path has no branch that skips it.
The whole intake, in order
- The type is read from the bytes, not from the file name and not from what the client claims it is.
- The file is scanned for viruses. If the scanner is
unreachable, intake answers
503instead of letting the file through: passing a file while the check is down would be a lie about work done. - The image is re-encoded into the named variants. This is where metadata is dropped.
- SVG is refused. It is a script container, not a picture, and it is never accepted and never served.
POST /api/v1/put?kind=review&key=r-9912&variants=thumb,card&owner_ref=user-4471
X-Media-Tenant: yourapp X-Media-Key-Id: k3
X-Media-Ts: 1758300000 X-Media-Sign: <HMAC-SHA256>
The owner_ref is the point where the next question is already
answered: when that person asks you to delete their data, one call erases
everything of theirs and tells you how many objects it erased. See
storing user uploads.
If any object under this owner_ref is linked to a Keepix stock item, including a withdrawn item, erase returns 409 asset_in_stock before deleting anything. The original must stay available for existing licences. Keep stock and ordinary uploads under different owner_ref values; account closure needs a separate review.
What it costs
Free
- 1 GB of storage
- 5 GB of delivery traffic
- 500 operations
- files up to 25 MB
- no video
Start
- 10 GB of storage
- 40 GB of delivery traffic
- 10,000 operations
- files up to 100 MB
- video and HLS
Pro
Popular- 25 GB of storage
- 100 GB of delivery traffic
- 100,000 operations
- files up to 512 MB
- video and HLS
Business
- 100 GB of storage
- 400 GB of delivery traffic
- 1,000,000 operations
- files up to 2 GB
- video and HLS
Business Plus
- 250 GB of storage
- 1.3 TB of delivery traffic
- 10,000,000 operations
- files up to 5 GB
- video and HLS
The free plan needs no card. Paid plans start at $5 a month, and the metadata stripping is not an extra: it is the same intake on every plan.