1{
2  "$schema": "http://json-schema.org/draft-04/schema#",
3  "type": "object",
4  "properties": {
5
6    "3rdparty": {
7      "type": "object",
8      "properties": {
9        "Extensions" : {
10          "type": "object",
11          "patternProperties": {
12            "^.*$": {
13              "type": "JSON"
14            }
15          }
16        }
17      }
18    },
19
20    "AppAutoUpdate": {
21      "type": "boolean"
22    },
23
24    "AppUpdateURL": {
25      "type": "URL"
26    },
27
28    "Authentication": {
29      "type": "object",
30      "properties": {
31        "SPNEGO" : {
32          "type": "array",
33          "items": {
34            "type": "string"
35          }
36        },
37        "Delegated" : {
38          "type": "array",
39          "items": {
40            "type": "string"
41          }
42        },
43        "NTLM" : {
44          "type": "array",
45          "items": {
46            "type": "string"
47          }
48        },
49        "AllowNonFQDN": {
50          "type": "object",
51          "properties": {
52            "SPNEGO": {
53              "type": "boolean"
54            },
55
56            "NTLM": {
57              "type": "boolean"
58            }
59          }
60        },
61        "AllowProxies": {
62          "type": "object",
63          "properties": {
64            "SPNEGO": {
65              "type": "boolean"
66            },
67
68            "NTLM": {
69              "type": "boolean"
70            }
71          }
72        },
73        "Locked": {
74          "type": "boolean"
75        },
76        "PrivateBrowsing": {
77          "type": "boolean"
78        }
79      }
80    },
81
82    "BackgroundAppUpdate": {
83      "type": "boolean"
84    },
85
86    "BlockAboutAddons": {
87      "type": "boolean"
88    },
89
90    "BlockAboutConfig": {
91      "type": "boolean"
92    },
93
94    "BlockAboutProfiles": {
95      "type": "boolean"
96    },
97
98    "BlockAboutSupport": {
99      "type": "boolean"
100    },
101
102    "CaptivePortal": {
103      "type": "boolean"
104    },
105
106    "Certificates": {
107      "type": "object",
108      "properties": {
109        "ImportEnterpriseRoots": {
110          "type": "boolean"
111        },
112        "Install": {
113          "type": "array",
114          "items": {
115            "type": "string"
116          }
117        }
118      }
119    },
120
121    "Cookies": {
122      "type": "object",
123      "properties": {
124        "Allow": {
125          "type": "array",
126          "strict": false,
127          "items": {
128            "type": "origin"
129          }
130        },
131
132        "Block": {
133          "type": "array",
134          "strict": false,
135          "items": {
136            "type": "origin"
137          }
138        },
139
140        "Default": {
141          "type": "boolean"
142        },
143
144        "AcceptThirdParty": {
145          "type": "string",
146          "enum": ["always", "never", "from-visited"]
147        },
148
149        "ExpireAtSessionEnd": {
150          "type": "boolean"
151        },
152
153        "Locked": {
154          "type": "boolean"
155        }
156      }
157    },
158
159    "DefaultDownloadDirectory": {
160      "type": "string"
161    },
162
163    "DisableAppUpdate": {
164      "type": "boolean"
165    },
166
167    "DisableBuiltinPDFViewer": {
168      "type": "boolean"
169    },
170
171    "DisabledCiphers": {
172      "type": "object",
173      "properties": {
174        "TLS_DHE_RSA_WITH_AES_128_CBC_SHA": {
175          "type": "boolean"
176        },
177        "TLS_DHE_RSA_WITH_AES_256_CBC_SHA": {
178          "type": "boolean"
179        },
180        "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": {
181          "type": "boolean"
182        },
183        "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": {
184          "type": "boolean"
185        },
186        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": {
187          "type": "boolean"
188        },
189        "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256": {
190          "type": "boolean"
191        },
192        "TLS_RSA_WITH_AES_128_CBC_SHA": {
193          "type": "boolean"
194        },
195        "TLS_RSA_WITH_AES_256_CBC_SHA": {
196          "type": "boolean"
197        },
198        "TLS_RSA_WITH_3DES_EDE_CBC_SHA": {
199          "type": "boolean"
200        },
201        "TLS_RSA_WITH_AES_128_GCM_SHA256": {
202          "type": "boolean"
203        },
204        "TLS_RSA_WITH_AES_256_GCM_SHA384": {
205          "type": "boolean"
206        }
207      }
208    },
209
210    "DisableDeveloperTools": {
211      "type": "boolean"
212    },
213
214    "DisableMasterPasswordCreation": {
215      "type": "boolean"
216    },
217
218    "DisablePasswordReveal": {
219      "type": "boolean"
220    },
221
222    "DisableSafeMode": {
223      "type": "boolean"
224    },
225
226    "DisableSecurityBypass": {
227      "type": "object",
228      "properties": {
229        "InvalidCertificate": {
230          "type": "boolean"
231        },
232
233        "SafeBrowsing": {
234          "type": "boolean"
235        }
236      }
237    },
238
239    "DisableSystemAddonUpdate": {
240      "type": "boolean"
241    },
242
243    "DisableTelemetry": {
244      "type": "boolean"
245    },
246
247    "DNSOverHTTPS": {
248      "type": "object",
249      "properties": {
250        "Enabled": {
251          "type": "boolean"
252        },
253        "ProviderURL": {
254          "type": "URLorEmpty"
255        },
256        "ExcludedDomains": {
257          "type": "array",
258          "items": {
259            "type": "string"
260          }
261        },
262        "Locked": {
263          "type": "boolean"
264        }
265      }
266    },
267
268    "DownloadDirectory": {
269      "type": "string"
270    },
271
272    "Extensions": {
273      "type": "object",
274      "properties": {
275        "Install" : {
276          "type": "array",
277          "items": {
278            "type": "string"
279          }
280        },
281        "Uninstall" : {
282          "type": "array",
283          "items": {
284            "type": "string"
285          }
286        },
287        "Locked" : {
288          "type": "array",
289          "items": {
290            "type": "string"
291          }
292        }
293      }
294    },
295
296    "ExtensionSettings": {
297      "type": "object",
298      "properties": {
299        "*": {
300          "type": "object",
301          "properties": {
302            "installation_mode": {
303              "type": "string",
304              "enum": ["allowed", "blocked"]
305            },
306            "allowed_types": {
307              "type": "array",
308              "items": {
309                "type": "string",
310                "enum": ["extension", "dictionary", "locale", "theme"]
311              }
312            },
313            "blocked_install_message": {
314              "type": "string"
315            },
316            "install_sources": {
317              "type": "array",
318              "items": {
319                "type": "string"
320              }
321            },
322            "restricted_domains": {
323              "type": "array",
324              "items": {
325                "type": "string"
326              }
327            }
328          }
329        }
330      },
331      "patternProperties": {
332        "^.*$": {
333          "type": "object",
334          "properties": {
335            "installation_mode": {
336              "type": "string",
337              "enum": ["allowed", "blocked", "force_installed", "normal_installed"]
338            },
339            "install_url": {
340              "type": "string"
341            },
342            "blocked_install_message": {
343              "type": "string"
344            },
345            "updates_disabled": {
346              "type": "boolean"
347            }
348          }
349        }
350      }
351    },
352
353    "ExtensionUpdate": {
354      "type": "boolean"
355    },
356
357    "Handlers": {
358      "type": "object",
359      "patternProperties": {
360        "^(mimeTypes|extensions|schemes)$": {
361          "type": "object",
362          "patternProperties": {
363            "^.*$": {
364              "type": "object",
365              "properties": {
366                "action": {
367                  "type": "string",
368                  "enum": ["saveToDisk", "useHelperApp", "useSystemDefault"]
369                },
370                "ask": {
371                  "type": "boolean"
372                },
373                "handlers": {
374                  "type": "array",
375                  "items": {
376                    "type": "object",
377                    "properties": {
378                      "name": {
379                        "type": "string"
380                      },
381                      "path": {
382                        "type": "string"
383                      },
384                      "uriTemplate": {
385                        "type": "string"
386                      }
387                    }
388                  }
389                }
390              }
391            }
392          }
393        }
394      }
395    },
396
397    "HardwareAcceleration": {
398      "type": "boolean"
399    },
400
401    "InstallAddonsPermission": {
402      "type": "object",
403      "properties": {
404        "Allow": {
405          "type": "array",
406          "strict": false,
407          "items": {
408            "type": "origin"
409          }
410        },
411        "Default": {
412          "type": "boolean"
413        }
414      }
415    },
416
417    "ManualAppUpdateOnly": {
418        "type": "boolean"
419    },
420
421    "NetworkPrediction": {
422      "type": "boolean"
423    },
424
425    "OfferToSaveLogins": {
426      "type": "boolean"
427    },
428
429    "OfferToSaveLoginsDefault": {
430      "type": "boolean"
431    },
432
433    "PasswordManagerEnabled": {
434      "type": "boolean"
435    },
436
437    "PDFjs": {
438      "type": "object",
439      "properties": {
440        "Enabled": {
441          "type": "boolean"
442        },
443        "EnablePermissions": {
444          "type": "boolean"
445        }
446      }
447    },
448
449    "Preferences": {
450      "type": "object",
451      "patternProperties": {
452        "^.*$": {
453          "type": ["number", "boolean", "string", "object"],
454          "properties": {
455            "Value": {
456              "type": ["number", "boolean", "string"]
457            },
458            "Status": {
459              "type": "string",
460              "enum": ["default", "locked", "user", "clear"]
461            }
462          }
463        }
464      }
465    },
466
467    "PrimaryPassword": {
468      "type": "boolean"
469    },
470
471    "PromptForDownloadLocation": {
472      "type": "boolean"
473    },
474
475    "Proxy": {
476      "type": "object",
477      "properties": {
478        "Mode": {
479          "type": "string",
480          "enum": ["none", "system", "manual", "autoDetect", "autoConfig"]
481        },
482
483        "Locked": {
484          "type": "boolean"
485        },
486
487        "AutoConfigURL": {
488          "type": "URLorEmpty"
489        },
490
491        "FTPProxy": {
492          "type": "string"
493        },
494
495        "HTTPProxy": {
496          "type": "string"
497        },
498
499        "SSLProxy": {
500          "type": "string"
501        },
502
503        "SOCKSProxy": {
504          "type": "string"
505        },
506
507        "SOCKSVersion": {
508          "type": "number",
509          "enum": [4, 5]
510        },
511
512        "UseHTTPProxyForAllProtocols": {
513          "type": "boolean"
514        },
515
516        "Passthrough": {
517          "type": "string"
518        },
519
520        "UseProxyForDNS": {
521          "type": "boolean"
522        },
523
524        "AutoLogin": {
525          "type": "boolean"
526        }
527      }
528    },
529
530    "RequestedLocales": {
531      "type": ["string", "array"],
532      "items": {
533        "type": "string"
534      }
535    },
536
537    "SSLVersionMax": {
538      "type": "string",
539      "enum": ["tls1", "tls1.1", "tls1.2", "tls1.3"]
540    },
541
542    "SSLVersionMin": {
543      "type": "string",
544      "enum": ["tls1", "tls1.1", "tls1.2", "tls1.3"]
545    }
546  }
547}
548