These are the requirements for scripts posted to Greasy Fork. These are intended to keep Greasy Fork a safe and useful place for user scripts. Any script falling outside these requirements may be deleted by Greasy Fork moderators.

Functionality

Scripts must include a description of what they do and may not do things unreasonably outside of this description. Users must know what a script will do before installing it.

Scripts must have a reason to be a script. For example, a script that just directs a user to a website doesn't need to be a script; it could be a link.

Scripts must not require users to perform an unrelated action, such as sending a payment, subscribing to a channel, or liking a page, for the script to be functional.

Scripts with monetization methods (tracking, ads, miners, etc.) are not forbidden, but the author must disclose this prominently in the script description or additional info.

Code

Code posted to this site must not be obfuscated or minified. This includes use of bundling tools like webpack. Users must be given the opportunity to inspect and understand a script before installing it.

Libraries that a script uses should be @require-d, unless there's a valid technical reason not to do so. In the case that a library is included inline, it must include information as to the source of the library (e.g. a comment indicating URL and/or name and version).

Copyright

Your script must respect others' copyrights. This includes the script itself and any resources (for example images) it uses. If you intend on using someone else's content, abide by their licensing terms or get their permission before doing so.

Even in cases not violating the copyright rule, reposts of scripts that are already on Greasy Fork are not allowed unless they are improving upon the original.

Miscellaneous

Scripts that include adult content or are for sites with adult content must be marked as such to allow other users the option of whether to see them.

Scripts must not check for updates at a rate higher than once per day. Note that most user script managers will handle automatic updates, so doing it in the script is unnecessary.

Scripts must not include @includes, @matches, or keywords for sites they do not provide functionality on.

If you notice a script that falls outside of these parameters, please report it by going to the Feedback link for that script and choosing the "Report script" option.