Here is another stab at explaining the situation:
First, you need clearance to make sure that you cannot read/write
from/to the rest of the world. So, jailed thread has label Lj = {jr,
jw}, clearance Cj = {jr, jw} and no ownership Oj = {}.
Since jw is in the clearance Cj, Lj cannot just drop jw: {jr} [/= {jr,
jw} Hence, since nobody* owns jw there is no source with label L such
that L [= Lj; thus the jailed thread cannot read from anywhere.
Similarly, since nobody* owns jr there is no sink with label L such that
Lj [= L; thus the jailed thread cannot write anywhere.
Of course, the gatekeeper is the one that actually created jr and jw,
hence Og = {jr, jw}. For simplicity, we can assume that the gatekeeper
has not been tainted. Nevertheless, it can read any data from the jail
since {jr, jw} - Og [= {} - Og. And, similarly it can write to it.
* - Except for the gate keeper.