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.IO
System.Net
System.Reflection
System.Threading
System.Runtime.InteropServices
System.Diagnostics
System.Security
System.Timers
Restriction exceptions
There are some exceptions to the above list, and they are:
System.Diagnostics.Stopwatch
System.IO.MemoryStream
System.IO.Stream
System.IO.BinaryReader
System.IO.BinaryWriter
System.Net.Dns
System.Net.Dns.GetHostEntry
System.Net.IPAddress
System.Net.IPEndPoint
System.Net.NetworkInformation
System.Net.Sockets.SocketFlags
System.Security.Cryptography
System.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.