Automated edits/deposit us
This page documents a proposed automated edit per the Automated Edits code of conduct. The same software already edits in the Netherlands under a separate account and a separately agreed plan: Automated edits/deposit_nl. Nothing agreed there carries over to the United States.
Purpose
Deposit is a mobile app (deposit.bijdorpstudio.nl) that helps people find where to return deposit containers. It covers the Netherlands and Connecticut. Its location data comes from OpenStreetMap. Users standing in a store answer short questions in the app: is there a return machine here, which containers does it take, when is it open.
OpenStreetMap maps no reverse vending machines in Connecticut: no vending=bottle_return and no recycling_type=reverse_vending_machine, also none in the surrounding bounding box. State law (C.G.S. §22a-245e) requires two machines in every store of 7,000 sq ft or more that belongs to a chain with ten or more stores in the state, which by the chain branches mapped today is roughly 200 supermarkets. This proposal is to add those machines from visitors' on-site answers, through a scheduled job running under a dedicated account, deposit_us.
Operator
- Bot account:
deposit_us— not yet registered. It will be used for nothing else. - Operator: jacque on openstreetmap.org (forum: jacque1; this wiki page is maintained by the same person under the wiki account Eugen)
- Contact: changeset comments on the bot account are monitored and answered; the operator can also be messaged directly. A request to stop is honoured immediately.
What the edits are
Only objective, human-observed facts. Every change originates from people standing at the location, and every change is reviewed by a human moderator before it is queued for upload — the bot mechanises the upload, not the judgment.
1. Creating a machine node beside a supermarket OSM already maps
A node is proposed only when:
- at least two different visitors answered yes to "Is there a return machine here?" at that store, each after being told their answer is published under the ODbL, and
- a human moderator approved it, and
- the store is already an element in OSM, and still is when the node is about to be created, and
- there is no machine mapped within 50 m of it, under either tagging, checked against OSM as it is at that moment.
So source=survey is true for every node.
What is created — one node per store, one changeset per node:
amenity=vending_machine+vending=bottle_return— proposed default, open for discussion. Worldwidevending=bottle_returnhas about 4,200 uses andrecycling_type=reverse_vending_machineabout 2,500. The app reads both; the bot writes the one this discussion settles.recycling:cans=yes,recycling:plastic_bottles=yes,recycling:glass_bottles=yes— only for containers visitors confirmed at that store. Never a value the app assumed from the law, and never=no.indoor=yesorindoor=no— only when a visitor has said which.fixme=position estimated— on every created node.
Nothing is copied from the store element, and the store element is not modified.
Position. 5 to 8 metres from the store's point, towards the inside of the building it sits in, fixed per store rather than random, and pulled back to stay inside the outline. Many Connecticut supermarkets are mapped as building outlines. When the app lets a visitor pin the exact spot, the bot moves the node and removes the fixme.
One machine, one node. The first version creates one node per confirmed store, although most of these stores have two machines. A second one is added only once a visitor can place it.
2. Adding tags to machines that are already mapped
Only on elements already tagged as a return machine (either tagging):
recycling:cans=yes,recycling:plastic_bottles=yes,recycling:glass_bottles=yes— only for what visitors confirmed; always=yes, never=noopening_hours— only when the element has none. A mapper's existing value is never replaced.
Every other tag on the element is preserved exactly. With nothing mapped in Connecticut today, this edit only starts once machines exist.
Explicitly out of scope
- Removing anything. A "no machine here" report stays in the app as a warning for a mapper to check by hand. The bot never removes a tag and never deletes an element.
- Editing the store element, or any
shop=*element. - Redemption centres. The app shows the ones OSM already maps; the bot does not create or edit them, and the state's licence list is not used as a source.
- Anything derived from third-party databases, store locators, chain lists or the law's requirements. Surveys, nothing else.
- Machines where OSM maps no store.
- Free-text content, opinions, or transient status ("machine is broken today").
Method and frequency
- A scheduled server-side job, once a day, uploads what moderation has approved.
- Region: Connecticut only. Another state would be put to this discussion first.
- At most five changesets per run to begin with. The changeset ids of a run are posted in the forum thread, and the ceiling is raised only after the community has looked at them.
- One changeset per created node or correction, so each can be reverted on its own.
- Changeset tags:
bot=yes,source=survey,created_by, acommentdescribing the edit, andwebsitepointing at this page. - Optimistic locking: a version conflict re-reads the element once and recomputes the change against the fresh copy. A second conflict means a human is editing right now and the bot leaves the element alone.
- The job can be stopped at once by the operator without a deploy; node creation has a separate switch of its own. Both are off.
Relationship to the Import guidelines
The operator reads this as an automated edit under the Automated Edits code of conduct rather than an import: no external dataset is merged, and every node rests on two visitors' on-site answers and a moderator's check. If the community asks for the import process instead, it will be followed before the first node.
Licensing
The app tells users at the point of submission that their answer is published under the ODbL. Only answers given after that notice was shown are eligible for upload. Contributions are the users' own on-site observations; no third-party data is involved.
Revert plan
- Every changeset id is recorded on the operator's side, and each changeset holds exactly one change, so any edit can be reverted on its own.
- The operator reverts from the personal account, not the bot.
- Any community member can request a stop via changeset comment or a message to the operator — the job does not run again until the concern is resolved.
Status
- Proposed — under community discussion. No edits have been made.
- 2026-10-19: proposal posted to the US community forum, with a pointer on the OpenStreetMap US Slack.
See also
- Automated edits/deposit_nl — the same software in the Netherlands
- Automated Edits code of conduct
- Import/Guidelines
- vending=bottle_return
- Tag:recycling_type=reverse_vending_machine