Automated edits/Snapp
Snapp automated map-feedback edits
This page documents the automated and semi-automated edits made in Iran by the Snapp organised editing activity through the account snapp-map-editor, as required by the Automated Edits code of conduct and the Organised Editing Guidelines.
Who we are
- Organisation: Snapp (Iranian ride-hailing and services platform), Map Data team.
- Activity page: Fa:Snapp (Persian), Organised Editing/Activities/Snapp (English), listed at Organised Editing/Activities since 2018.
- Editing account:
snapp-map-editor. This is the only account used for automated or scripted uploads. - Contact:
map-admin@snapp.cab— monitored on working days; we answer within two working days while the activity is running. - Responsible person: TODO — name + OSM username of the engineer accountable for the pipeline.
Motivation
Snapp's apps collect map problem reports from passengers and drivers ("this street is one-way", "this road is closed", "this name is wrong", "this shop no longer exists"). Historically these were resolved by our cartographers in JOSM. The volume — roughly 1,200 reports per day — is past what manual review can absorb, so a validation pipeline now resolves part of that stream and uploads the resulting corrections. Improving Iran's road attributes (names, direction, access, speed limits) in OSM directly improves routing for both our users and everyone else using the data.
Scope of the edits
- Area: Iran.
- Elements: modifications to existing ways (roads) and POI nodes. This activity does not create new POIs in OSM.
- Tags touched:
name,alt_name,full_name,oneway,highway,maxspeed,surface,lanes,access, and POIname/category tags. - Not touched: geometry of existing ways is not rewritten by the automated path; administrative boundaries, landuse and relations are out of scope. The uploader rejects any element outside Iran, so this activity never edits across the border.
- Volume: on the order of a few hundred element changes per week.
- Cadence: a scheduled batch on working days, plus ad-hoc runs.
Algorithm
Every report runs through a chain of checks before anything is uploaded, and most reports are rejected — they never reach OSM. The checks confirm that:
- the report actually changes something;
- the text is not spam, abuse or nonsense, and a proposed road name does not look like a business name;
- a direction or road-deletion claim is not contradicted by observed driver trajectories;
- the change is not a repeat of a report already pending on the same element;
- the location is not inside a geofenced sensitive area;
- the reporter is not a known abusive account.
Some changes are applied by rule; the rest are reviewed and edited by a cartographer by hand.
Every upload is tagged mechanical=yes either way, since the upload itself is scripted.
Accepted changes are uploaded through snapp_osm_api, our internal upload service, which
writes to the OSM API v0.6 under the snapp-map-editor account.
Data sources
- Map problem reports submitted by passengers and drivers in the Snapp apps, with their free-text notes.
- Anonymised, aggregated GPS traces recorded from driver devices during trips, used as corroboration for direction and road-existence checks — never copied into OSM. No passenger location data is collected or used.
No third-party map data is used, and nothing is copied from another map provider.
Changeset tagging
Every upload from this pipeline carries:
created_by=snapp_osm_api/<version>comment— a human-readable description of the change, always including the hashtag#snapp_apiurl=https://wiki.openstreetmap.org/wiki/Automated_edits/Snappmechanical=yes— on every changeset from this pipeline.
Changesets are kept small in area — one changeset covers one small patch, named in its comment, and contains one kind of change.
Consultation
- Announcement and discussion thread: TODO — link the community.openstreetmap.org thread once posted.
- Any objection raised there will be answered within two working days, and the pipeline will be paused for the objecting area while the discussion is open.
Opting out
Mail map-admin@snapp.cab, or comment on any of our changesets. We will:
- stop automated edits in a named area, or on named objects or tags, on request;
- stop modifying objects last edited by a mapper who asks to be left alone;
- revert any specific changeset on request.
Reverting
We keep, for every uploaded change, the source report, the rule that decided it, the element
version before the change, and the changeset id. Any batch can therefore be reverted on
request; reverts will be uploaded from the same account with a revert comment
referencing the original changeset.
History
- 2018 — Snapp starts organised (manual, JOSM) mapping in Iran; activity registered at Organised Editing/Activities.
- 2026-07-21 —
snapp-map-editoraccount created for API uploads. - 2026-08-03 — the feedback pipeline is wired to the upload service.
- 2026-09-10 — the DWG blocks the account: the uploads were mechanical in nature, were not documented here, were not announced, were not tagged as mechanical, and were batched into country-wide changesets. Uploads paused the same day.
- TODO date — this page published, activity announced, changeset tagging and per-area batching shipped, uploads resumed.