Privacy Policy — Vegkamera
Last updated: 2026-07-08
Developer: Arnstein Skåra
1. Overview
Vegkamera is a road awareness app for Norway. It displays an interactive map with real-time GPS tracking, speed camera locations, traffic messages, rest areas, toll booths, road weather data, the Norwegian police operations log, and route planning, and lets users capture geotagged road photos. This policy explains what data the app collects, how it is used, who it is sent to, and your rights.
2. Data Collected
2.1 Precise Location (GPS)
- What: Latitude, longitude, speed, heading, and accuracy from the device GPS.
- Why: Core functionality — the app shows your position on the map, detects nearby road features (speed cameras, toll booths, traffic incidents), and calculates your speed relative to posted speed limits.
- Background location: The app requests background location access so it can continue delivering audio alerts (speed camera ahead, traffic incident, toll booth approaching) while you are driving with the screen off or another app in the foreground. Location is never collected in the background when the foreground service is not running.
- Retention: GPS data is processed on your device in real time and is not stored by the app, and the app operates no server that stores your location. Your coordinates are sent to the third-party services listed in section 3 only as needed to look up road and weather data for your current position, as described below.
2.2 Camera
- What: Photos taken within the app using the device camera.
- Why: Users can capture geotagged road photos, which are annotated with GPS coordinates and the NVDB road reference and saved locally on the device.
- Retention: Photos are saved to app-private storage on the device (
AppDataDir). They are never uploaded or shared without explicit user action.
2.3 Road and Traffic Data
- What: Requests to the Norwegian Road Authority (Statens vegvesen / NVDB) APIs using your current GPS coordinates.
- Why: To look up the posted speed limit, road reference (vegsystemreferanse), nearby speed cameras, traffic messages, rest areas, ferry quays, toll booths, and measurement sites for your current position.
- What is sent: For position lookups, only the current GPS coordinates (latitude/longitude) are sent as query parameters. No device identifiers are included.
- Traffic feed proxy: The national traffic-message feed is fetched through a proxy operated by the developer on Cloudflare (
gzip-proxy.arnstein-skara.workers.dev) that handles response compression. This request does not contain your GPS coordinates; as with any web request, your IP address is visible to Cloudflare and the proxy.
2.4 Weather and UV Data
- What: Requests to MET Norway (
api.met.no) and Yr (www.yr.no) using your current GPS coordinates. - Why: To show the weather forecast, temperature, and UV index in the app.
- What is sent: Only the current GPS coordinates — or, for the long-press place dialog's forecast, the coordinates of the map point you pressed. No device identifiers are included.
2.5 Police Operations Log (Politiloggen)
- What: Requests to the Norwegian Police operations log API (
api.politiloggen.politiet.no). - Why: To show active police operations and missions near you.
- What is sent: The app downloads the public operations-log feed and filters it locally on your device by municipality; your GPS coordinates are not sent. As with any web request, your IP address is visible to the service.
2.6 Route Planning, Address and Place Search
- What: Used only when you actively plan a route or type in the map search box.
- Why: To geocode a destination or search term and compute a driving route.
- What is sent: The address or place name you type is sent to Geonorge / Kartverket (
ws.geonorge.nofor addresses,api.kartverket.nofor place names) to look up its coordinates; when planning a route, your start and destination coordinates are then sent to the Statens vegvesen routing service (www.vegvesen.no) to calculate the route. Route requests are not stored by the app beyond your device, though your saved route plan is kept in local app storage so it can be restored.
2.7 Translation
- What: Some traffic-message and police-log text is sent to MyMemory, a third-party translation service operated by Translated S.r.l. (
api.mymemory.translated.net). - Why: To translate Norwegian message text to English when you open the details of a message.
- What is sent: Only the public message text. No personal data, device identifiers, or location are included.
2.8 Map Tiles
- What: Requests to map tile servers (default: CartoDB Voyager, built on OpenStreetMap data; configurable by the user).
- Why: To render the background map.
- What is sent: Only the tile coordinates (zoom/x/y), not your GPS position.
2.9 Vehicle Registration Lookup
- What: Used only when you actively look up a vehicle registration number while adding a vehicle profile.
- Why: To prefill the profile's type, dimensions, and weights from the official vehicle register so route planning uses accurate values.
- What is sent: The registration number (kjennemerke) you type is sent to the Statens vegvesen Autosys vehicle-data API (
www.vegvesen.no). The service returns technical vehicle data only; no owner information is requested or received. No GPS coordinates or device identifiers are included. A registration number is treated as personal data; it is sent only on your explicit action and is not stored by the app beyond the profile values you keep.
2.10 Map Long-Press Place Lookup
- What: Used only when you long-press a point on the map to open the place/weather dialog.
- Why: To show the name and country of the pressed place.
- What is sent: The coordinates of the map point you pressed (not your GPS position, unless you press on it) are sent to the Nominatim reverse-geocoding service operated by the OpenStreetMap Foundation (
nominatim.openstreetmap.org). No device identifiers are included; as with any web request, your IP address is visible to the service.
2.11 Wildlife Incident Data
- What: Requests to the public Hjorteviltregisteret fallvilt service operated by the Norwegian Environment Agency / Naturdata (
hjorteviltregisteret.no). - Why: To show wildlife/vehicle collisions from the last 30 days as awareness pins on the map.
- What is sent: Only fixed query filters (date window, species, cause). Your GPS coordinates are never sent — the app downloads the national public dataset and renders it locally. As with any web request, your IP address is visible to the service.
2.12 App Error Logs
- What: Unhandled exceptions and service errors are written to a local SQLite database on the device (capped at 5 000 entries).
- Why: Diagnostics and debugging. Logs can be viewed in-app via the log viewer.
- Retention: Stored locally only. Not transmitted anywhere unless you manually share them.
3. Data Sharing
Vegkamera does not sell, rent, or share your personal data with third parties for advertising or marketing purposes. It contains no advertising or analytics SDKs.
Data is sent only to the following services, solely to fulfil the app's core functions:
| Service | Purpose | Data sent |
|---|---|---|
Statens vegvesen / NVDB (*.atlas.vegvesen.no) |
Road data (speed limits, cameras, traffic, rest areas, ferries, tolls) | GPS coordinates |
Statens vegvesen routing (www.vegvesen.no) |
Route planning | Start + destination coordinates |
Statens vegvesen Autosys vehicle data (www.vegvesen.no) |
Vehicle registration lookup to prefill a profile | Registration number you enter (no owner data returned) |
Developer-operated proxy on Cloudflare (gzip-proxy.arnstein-skara.workers.dev) |
Compressed delivery of the traffic feed | Traffic feed request (no GPS); IP address visible |
Hjorteviltregisteret / Naturdata (hjorteviltregisteret.no) |
Last-month wildlife collision pins | Fixed public-data query only (no GPS); IP address visible |
MET Norway (api.met.no) |
Weather forecast | GPS coordinates |
Yr (www.yr.no) |
UV index forecast | GPS coordinates |
Norwegian Police – Politiloggen (api.politiloggen.politiet.no) |
Police operations log | Feed request (no GPS); IP address visible |
Geonorge / Kartverket (ws.geonorge.no, api.kartverket.no) |
Address / place-name geocoding | Address or place text you enter |
MyMemory / Translated S.r.l. (api.mymemory.translated.net) |
Translate message text to English | Public message text (no GPS, no personal data) |
CartoDB basemap CDN (*.basemaps.cartocdn.com, default) / OpenStreetMap / other user-configured tile servers |
Map background | Tile coordinates (not GPS); IP address visible |
Nominatim / OpenStreetMap Foundation (nominatim.openstreetmap.org) |
Place name for a long-pressed map point | Coordinates of the map point you press; IP address visible |
| Google Play Billing (Google LLC) | In-app subscription purchases (premium features) | Purchase request for the selected subscription; payment and account are handled by Google Play — no payment details reach the app |
Each third-party service is an independent data controller or processor for the data it receives; its handling of that data is governed by its own privacy policy.
4. Legal Basis and Your Rights (GDPR)
Vegkamera is offered from Norway and processes data in accordance with the EU/EEA General Data Protection Regulation (GDPR). The data controller is Arnstein Skåra (contact details in section 8).
- Legal basis: Location and the other data described above are processed on the basis of your consent — given through the Android permission prompts — and the developer's legitimate interest in providing the app's road-awareness features. You can withdraw consent at any time by revoking the relevant permissions in your device settings or by uninstalling the app.
- Data minimisation: Because the app stores no personal data on any server operated by the developer, there is generally no personal data held about you to retrieve, correct, or erase. Data processed on your device — photos, local error logs, saved settings, and any saved route plan — can be removed at any time by deleting them in-app or uninstalling the app.
- Your rights: You have the right to access, rectification, erasure, restriction of processing, objection, and data portability, and the right to lodge a complaint with the Norwegian Data Protection Authority (Datatilsynet, www.datatilsynet.no). To exercise any of these rights, contact the developer at the address in section 8.
5. Permissions Used
| Permission | Reason |
|---|---|
ACCESS_FINE_LOCATION |
Real-time GPS tracking on the map |
ACCESS_COARSE_LOCATION |
Required by Android alongside fine location |
ACCESS_BACKGROUND_LOCATION |
Audio alerts while driving with screen off |
CAMERA |
Capture geotagged road photos |
INTERNET |
Fetch road data, weather, and map tiles |
ACCESS_NETWORK_STATE |
Check network availability before making requests |
POST_NOTIFICATIONS |
Foreground service notification and road alert heads-up notifications |
FOREGROUND_SERVICE / FOREGROUND_SERVICE_LOCATION |
Run background GPS tracking as an Android foreground service |
SCHEDULE_EXACT_ALARM |
Precise alert timing |
WAKE_LOCK |
Briefly keeps the CPU awake for a single background speed-alert while the screen is off |
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS |
Shows the system dialog to exempt the app from battery optimization when you enable background alerts, so alerts keep working with the screen off |
BATTERY_STATS |
Declared for the device battery-status API (low-battery charge reminder) |
com.android.vending.BILLING |
In-app subscription purchases (premium features) via Google Play Billing |
6. Children's Privacy
This app is not directed at children under 13 and does not knowingly collect data from children.
7. Changes to This Policy
Any material changes will be reflected in an updated Last updated date at the top of this document. Continued use of the app after changes constitutes acceptance of the updated policy.
8. Contact
Questions about this privacy policy can be sent to:
Arnstein Skåra
arnstein.skara@gmail.com