Existing keys or syntax for tags not being uploaded in JOSM?

Hi,

Is there a key that is purposely not uploaded by JOSM or, even better, a forbidden character whose presence in a key make it unable to be uploaded from JOSM?
Would be useful for some field collection projects like ODK based in which you get unwished key+value for OSM.

There’s something called “discardable tags” - that will get deleted whenever an object is touched and uploaded. Basically some historic stuff like created_by=“Potlatch 2”, internal IDs from imported government datasets (a practice now frowned upon) and so on.
I don’t think however it would discard an object itself (if you plan to create new objects that are not to be uploaded to OSM).
You can however discourage upload of a layer in JOSM by selecting such option in right-click menu of that layer.

One of those?: https://wiki.openstreetmap.org/wiki/Elements#Common_attributes

Not that, though, because P2 has never written that tag to ways, nodes or relations. There are more created_by=JOSM tags than any other.

https://taginfo.openstreetmap.org/keys/created_by#values

JOSM discards tags with these keys:

                            
                            "created_by",
                            "converted_by",
                            "geobase:datasetName",
                            "geobase:uuid",
                            "KSJ2:ADS",
                            "KSJ2:ARE",
                            "KSJ2:AdminArea",
                            "KSJ2:COP_label",
                            "KSJ2:DFD",
                            "KSJ2:INT",
                            "KSJ2:INT_label",
                            "KSJ2:LOC",
                            "KSJ2:LPN",
                            "KSJ2:OPC",
                            "KSJ2:PubFacAdmin",
                            "KSJ2:RAC",
                            "KSJ2:RAC_label",
                            "KSJ2:RIC",
                            "KSJ2:RIN",
                            "KSJ2:WSC",
                            "KSJ2:coordinate",
                            "KSJ2:curve_id",
                            "KSJ2:curve_type",
                            "KSJ2:filename",
                            "KSJ2:lake_id",
                            "KSJ2:lat",
                            "KSJ2:long",
                            "KSJ2:river_id",
                            "odbl",
                            "odbl:note",
                            "osmarender:nameDirection",
                            "osmarender:renderName",
                            "osmarender:renderRef",
                            "osmarender:rendernames",
                            "SK53_bulk:load",
                            "sub_sea:type",
                            "tiger:source",
                            "tiger:separated",
                            "tiger:tlid",
                            "tiger:upload_uuid",
                            "yh:LINE_NAME",
                            "yh:LINE_NUM",
                            "yh:STRUCTURE",
                            "yh:TOTYUMONO",
                            "yh:TYPE",
                            "yh:WIDTH",
                            "yh:WIDTH_RANK"

This list in the source code AbstractPrimitive.java