AMO:Editors/EditorGuide/AddonReviews: Difference between revisions

Line 144: Line 144:
==== Policies and actions  ====
==== Policies and actions  ====


{| width="650" cellspacing="0" cellpadding="1" border="1"
{| width="650" cellspacing="0" cellpadding="1" border="0"
|-
|-
! scope="col" | Policy
! style="border-bottom: 2px solid black" scope="col" | Policy  
! scope="col" | Action
! style="border-bottom: 2px solid black" scope="col" | Action  
! scope="col" | Notes
! style="border-bottom: 2px solid black" scope="col" | Notes
|-
|- style="vertical-align: top;"
| Missing file / Parse error / Validation error
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Missing file / Parse error / Validation error  
| Reject
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Obfuscated, minified or binary code
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Obfuscated, minified or binary code  
| Reject
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Obfuscated, minified or binary code, with original sources included in XPI or provided link
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Obfuscated, minified or binary code, with original sources included in XPI or provided link  
| Admin Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Add-ons with this type of code are not eligible for preliminary review.
|-
|- style="vertical-align: top;"
| Using eval, Function() or setTimeout on remote code
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Using eval, Function() or setTimeout on remote code  
| Reject
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Remote script insertion
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Remote script insertion  
| Reject
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Unprotected browser or iframe elements
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Unprotected browser or iframe elements  
| Reject
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Conduit add-on without [https://addons.mozilla.org/en-US/firefox/user/4959120 CONDUIT-AMO] as author
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Conduit add-on without [https://addons.mozilla.org/en-US/firefox/user/4959120 CONDUIT-AMO] as author  
| Reject
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Conduit add-on with [https://addons.mozilla.org/en-US/firefox/user/4959120 CONDUIT-AMO] as author
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Conduit add-on with [https://addons.mozilla.org/en-US/firefox/user/4959120 CONDUIT-AMO] as author  
| Admin Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| JS Library (like jQuery) included, but not in its original file / JS Library doesn't pass checksum validation
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | JS Library (like jQuery) included, but not in its original file / JS Library doesn't pass checksum validation  
| Reject
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Unicode characters (e.g. \u0060) in JS code
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Unicode characters (e.g. \u0060) in JS code  
| Reject
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Reject  
| Keep in mind these can be used inside strings. They're just not allowed to replace JS code characters, since they're usually meant to bypass the validator.
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Keep in mind these can be used inside strings. They're just not allowed to replace JS code characters, since they're usually meant to bypass the validator.
|-
|- style="vertical-align: top;"
| Using eval, Function() or setTimeout on local code
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Using eval, Function() or setTimeout on local code  
| Preliminary Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary Review  
| One case that we accept is when eval is used to replace existing Firefox functions. This is very common for add-ons that change bookmarking or tabbing behavior. It is also allowed in known libraries like jQuery.
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | One case that we accept is when eval is used to replace existing Firefox functions. This is very common for add-ons that change bookmarking or tabbing behavior. It is also allowed in known libraries like jQuery.
|-
|- style="vertical-align: top;"
| Using the codebase_principal_support preference or enablePrivilege function
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Using the codebase_principal_support preference or enablePrivilege function  
| Preliminary Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary Review  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Native object prototype extension / Using Prototype library
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Native object prototype extension / Using Prototype library  
| Preliminary Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary Review  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Storing passwords or other sensitive user data in the preferences
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Storing passwords or other sensitive user data in the preferences  
| Preliminary Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary Review  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Changing Firefox preferences without user consent
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Changing Firefox preferences without user consent  
| Preliminary Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Preliminary Review  
| These include: network preferences, update system preferences, homepage, User Agent string.
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | These include: network preferences, update system preferences, homepage, User Agent string.
|-
|- style="vertical-align: top;"
| Changing security preferences, permissions, certificates (nsIX509CertDB)
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Changing security preferences, permissions, certificates (nsIX509CertDB)  
| Admin Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Using nsIProcess
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Using nsIProcess  
| Admin Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Using JS c-types
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Using JS c-types  
| Admin Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Theme includes JS code
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Theme includes JS code  
| Admin Review
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Admin Review  
|  
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|-
|- style="vertical-align: top;"
| Using Geolocation
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Using Geolocation  
| Test
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Test  
| Give Preliminary Review if the add-on doesn't ask the user before getting geolocation data. Approve if it does.
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Give Preliminary Review if the add-on doesn't ask the user before getting geolocation data. Approve if it does.
|-
|- style="vertical-align: top;"
| Localization errors
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Localization errors  
| Ignore
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" | Ignore  
|
| style="padding: 1ex 1ex 1ex 0; border-bottom: 1px solid black;" |  
|}
|}


Account confirmers, Confirmed users
126

edits