Everything is visible by default. You can use delegate methods to restrict classes and methods.
https://github.com/parmanoir/jscocoa/blob/master/JSCocoa/JSCocoaController.h#L218
canGetGlobalProperty: lets you restrict access of global lookup (classes, structs, enums, functions), getGlobalProperty: lets you override JSCocoa's default behavior and return your own object.
Delegate methods can restrict or override calling, property setting, file loading.
JSCocoa does not have a way to handle lookup errors, it just returns NULL. This lookup is done in OSXObject_getProperty(), you can add your own handling at its end, or do the lookup yourself in the getGlobalProperty: method and warn the user if the class does not exist.
https://github.com/parmanoir/jscocoa/blob/master/JSCocoa/JSCocoaController.m#L2883
Regarding BridgeSupport, it's only used for C and structure definitions. If BridgeSupport files are not loaded, then C functions and structs will not be available. Any ObjC class or method is fetched at runtime with NSClassFromString, class_getInstanceMethod, etc.
-Patrick