Without being completely exhaustive, here is a list of functionalities that we don't allow on our servers. Grasshopper components that perform operations from this list are detected during the upload process and the model will get denied because of them.
Manipulating the Rhino document
Everything stays in Grasshopper. Anything that reads or writes objects, object and document properties from the Rhino workspace is a no go.
On ShapeDiver, a Grasshopper definition must define a one-to-one relationship with a computed result. One set of parameters should always lead to the same outputs. If components or scripts are trying to update inputs (sliders, value lists, etc...) or their values, they will not be accepted on ShapeDiver simply because it wouldn't make sense with the architecture of the platform.
Complicated words for something simple: any component for which the computation time can't be predicted will be rejected. Think the components in Galapagos, Kangaroo and many third-party plugins.
Referencing a local path
The uploaded definitions must be self-contained: you cannot attach static CAD files or images and import them. In some cases, we have created components in the ShapeDiver plugin which replicate those functionalities, using a URL instead of a local path. See: Importing CAD files, External geometry.
Saving to a local path
For an even more obvious reason than referencing one. Symmetrically, you can check our export components, for extracting data or saving CAD files from the web browser.
We fully allow all three scripting languages of Grasshopper: C#, VB and Python. However, Grasshopper is pretty flexible with what scripts can do, and for security reasons we need to manually check them before they can be uploaded. Mainly, we check that the scripts don't call or replicate the functionalities described above in this article. Obviously, we also check for malicious code. Manipulating Rhino or Grasshopper document with the script is not allowed.
If you try to upload a model with a script, they will be sent for review automatically. You will be notified by email if the model is accepted or not.
There are hundreds of Grasshopper plugins and it is not realistic to install all of them on our servers. But quantity is not the only roadblock: many of them are not actively maintained or don't have a versioning system, which makes them risky to be included on our servers.
We try to add as many useful, reliable plugins as we can. You will find an updated list here. If you think we overlooked valuable plugins for ShapeDiver, let us know on the forum, and we will address your request as soon as we can.