## ADDED Requirements

### Requirement: Geolocation prompt on scan
When a visitor opens the page of an active tag over HTTPS, the system SHALL request the visitor's location via the browser geolocation API. Granting SHALL send the coordinates to the server with the scan; denying SHALL NOT block the page.

#### Scenario: Location granted
- **WHEN** the finder allows location on an active tag page
- **THEN** the coordinates are posted to the server and recorded with `location_shared = true`

#### Scenario: Location denied
- **WHEN** the finder denies the location request
- **THEN** the page still shows the return details and the scan is recorded with `location_shared = false`

### Requirement: Re-check location
The tag page SHALL offer a "re-check location" button while no location has been shared. Activating it SHALL re-request the browser location. Once a location has been shared, the button SHALL be hidden.

#### Scenario: Re-request after denial
- **WHEN** the finder initially denied and presses "re-check location"
- **THEN** the browser prompts again, and if granted the coordinates are sent to the server

#### Scenario: Button hidden after share
- **WHEN** a location has been successfully shared
- **THEN** the re-check button is not displayed

### Requirement: Scan recorded for every visit
Every visit to an active tag page SHALL record a scan row (with or without location), flagged by `location_shared`.

#### Scenario: Scan with location
- **WHEN** a scan is posted with coordinates
- **THEN** a `scans` row exists with lat/lng and `location_shared = true`

#### Scenario: Scan without location
- **WHEN** a scan is posted without coordinates
- **THEN** a `scans` row exists with `location_shared = false` and null lat/lng

### Requirement: SMS link to the owner
The active tag page SHALL provide an `sms:` link to the owner's number with a prefilled message asking the finder for their phone number.

#### Scenario: Finder opens the SMS link
- **WHEN** the finder taps the "Send SMS" link
- **THEN** the device SMS app opens with the owner's number and the prefilled message
