Security
Sandbox
Plugins and products are compiled in a restricted mode that prevents a substantial number of .NET features from being used.
These restrictions are in place to prevent potentially malicious code.
Restricted namespaces
The list of namespaces restricted by the sandbox includes, but is not limited to:
System.IOSystem.NetSystem.ReflectionSystem.ThreadingSystem.Runtime.InteropServicesSystem.DiagnosticsSystem.SecuritySystem.Timers
Restriction exceptions
There are some exceptions to the above list, and they are:
System.Diagnostics.StopwatchSystem.IO.MemoryStreamSystem.IO.StreamSystem.IO.BinaryReaderSystem.IO.BinaryWriterSystem.Net.DnsSystem.Net.Dns.GetHostEntrySystem.Net.IPAddressSystem.Net.IPEndPointSystem.Net.NetworkInformationSystem.Net.Sockets.SocketFlagsSystem.Security.CryptographySystem.Threading.Interlocked
Extensions
Extensions are generally not sandboxed, meaning that any code deployed as an extension will have unmitigated access to all .NET libraries.
For this reason, we do not generally accept extensions except in the most needful cases. If code is submitted as an extension, the author ought to be prepared to demonstrate why it absolutely must be deployed as an extension.