Вероятно, самый безопасный способ - это сообщить пользователю, находится ли он в апплете (просто добавьте «логическую» переменную в соответствующий конструктор (ы) и / или метод (ы)).
Конечно, вам нужно что-то более автоматическое, чтобы избежать этого, но, насколько я знаю, не существует надежного способа узнать, как работает программа, которая работает на виртуальных машинах. Я бы, вероятно, начал с того, что посмотрел на менеджера по безопасности, как предложил Торак в своем ответе, но вместо того, чтобы просто искать ноль, я бы проверил, какой это тип. Я немного осмотрелся, но не выяснил, есть ли какое-нибудь «стандартное» имя для класса менеджера безопасности, используемого апплетами.
В конце концов, самым безопасным способом будет заставить пользователей вашей библиотеки принять решение, поскольку они будут располагать необходимой информацией.