Suppose you were writing a network-based WinForms application which is supposed to run in a "paranoid" environment due to restrictive company policies at the customer site. What kind of restrictions did such hostile environment have, and what did you do to design around them?
Some examples to begin with:
- Problem: There is a very restrictive firewall that only allows outbound port 80 traffic. Solution: use only HTTP to do your networking.
- Problem: The .NET framework is not allowed. Solution: turn your app into a web app.
What are some such restrictions you have faced in real-life customer situations, such as for example in banking software (which typically needs to live in a particularly strict environment)?