Index: trunk/scripts/SyncEditorLayerIndex.java
===================================================================
--- trunk/scripts/SyncEditorLayerIndex.java	(revision 16098)
+++ trunk/scripts/SyncEditorLayerIndex.java	(revision 16127)
@@ -442,4 +442,6 @@
             if (isNotBlank(t = getPermissionReferenceUrl(e)))
                 stream.write("        <permission-ref>"+cdata(t)+"</permission-ref>\n");
+            if (isNotBlank(t = getPrivacyPolicyUrl(e)))
+                stream.write("        <privacy-policy-url>"+cdata(t)+"</privacy-policy-url>\n");
             if ((getValidGeoreference(e)))
                 stream.write("        <valid-georeference>true</valid-georeference>\n");
@@ -757,4 +759,5 @@
 
             compareDescriptions(e, j);
+            comparePrivacyPolicyUrls(e, j);
             comparePermissionReferenceUrls(e, j);
             compareAttributionUrls(e, j);
@@ -777,4 +780,18 @@
             } else if (!optionNoEli) {
                 myprintln("+ Missing ELI description ('"+jt+"'): "+getDescription(j));
+            }
+        }
+    }
+
+    void comparePrivacyPolicyUrls(JsonObject e, ImageryInfo j) {
+        String et = getPrivacyPolicyUrl(e);
+        String jt = getPrivacyPolicyUrl(j);
+        if (!Objects.equals(et, jt)) {
+            if (isBlank(jt)) {
+                myprintln("- Missing JOSM privacy policy URL ("+et+"): "+getDescription(j));
+            } else if (isNotBlank(et)) {
+                myprintln("+ Privacy policy URL differs ('"+et+"' != '"+jt+"'): "+getDescription(j));
+            } else if (!optionNoEli) {
+                myprintln("+ Missing ELI privacy policy URL ('"+jt+"'): "+getDescription(j));
             }
         }
@@ -1449,4 +1466,9 @@
     }
 
+    static String getPrivacyPolicyUrl(Object e) {
+        if (e instanceof ImageryInfo) return ((ImageryInfo) e).getPrivacyPolicyURL();
+        return ((Map<String, JsonObject>) e).get("properties").getString("privacy_policy_url", null);
+    }
+
     static Map<String, Set<String>> getNoTileHeader(Object e) {
         if (e instanceof ImageryInfo) return ((ImageryInfo) e).getNoTileHeaders();
