{-|
This module implements Disjunction Category labels. 
It is designed to be used by untrustworthy code. 
Technically, the module exports the same interface as 
"DCLabel.Trustworthy" except for the function 
'createPriv'. 
-}


module DCLabel.Untrustworthy 
       ( -- Lattice
           Lattice (join, meet, top, bottom, canflowto)
         -- Label 
         , Label () 
         , Principal () 
         , principal
         , isPrincipal
         , labelToList
         -- DSL 
         , DisjunctionOf ( (.\/.) )  
         , ConjunctionOf ( (./\.) )
         , (<>)
         , singleton
         -- DC Label 
         , DCLabel()
         , integrityDC 
         , secrecyDC 
         , newDC
         -- Priviligies 
         , Priv() 
         , canflowto_p
         , own 
         , privToLabel
       )
         
where

import DCLabel.Trustworthy hiding (createPriv)