Rated 4 out of 5 stars

very powerful way of fine tweaking permissions, BUT the permissions you want to tweak are hidden!!! You have to already know what you want to tweak....(or...patch <Firefox>/chrome/toolkit/content/global/config.js:
--- config.js 2011-12-07 04:24:12.476588800 -0800
+++ config.js.orig 2011-11-03 07:26:30.000000000 -0700
@@ -191,6 +191,8 @@
if (topic != "nsPref:changed")

+ if (/^capability\./.test(prefName)) // avoid displaying "private" preferences
+ return;

var index = gPrefArray.length;
if (prefName in gPrefHash) {
@@ -299,6 +301,8 @@
for (var i = 0; i < prefCount.value; ++i)
var prefName = prefArray[i];
+ if (/^capability\./.test(prefName)) // avoid displaying "private" preferences
+ continue;

fetchPref(prefName, gPrefArray.length);
Of course if you patch it and screw yourself, you might need to reinstall and get do a new profile... (backups are good)...

You can have it interfere w/noscript...But it seems you have to set the top level default policies to be the same as 'no scripts', or no script will think it is 'uncovered'...

I.e. no script sets default policies a certain way, and this does too -- if they don't agree, no script doesn't know what is going on...

This could use a menu of all caps and policies that are settable -- rather than having users root around in their firefox source code...not too many users are likely keen on that.