diff --git a/changes.md b/changes.md
--- a/changes.md
+++ b/changes.md
@@ -1,3 +1,6 @@
+# 0.1.0.0
+    - Add support for 'cryptoids-class'
+
 # 0.0.0.3
     - Got rid of `encoding`
 
diff --git a/filepath-crypto.cabal b/filepath-crypto.cabal
--- a/filepath-crypto.cabal
+++ b/filepath-crypto.cabal
@@ -1,5 +1,5 @@
 name: filepath-crypto
-version: 0.0.0.3
+version: 0.1.0.0
 cabal-version: >=1.10
 build-type: Simple
 license: BSD3
@@ -18,6 +18,7 @@
 library
     exposed-modules:
         System.FilePath.Cryptographic
+        System.FilePath.Cryptographic.ImplicitNamespace
         Data.Binary.SerializationLength
         Data.Binary.SerializationLength.TH
     build-depends:
@@ -25,7 +26,8 @@
         binary >=0.8.5.1 && <0.9,
         bytestring >=0.10.8.2 && <0.11,
         case-insensitive >=1.2.0.10 && <1.3,
-        cryptoids >=0.4.0.0 && <0.5,
+        cryptoids >=0.5.0.0 && <0.6,
+        cryptoids-class >=0.0.0 && <0.1,
         cryptoids-types >=0.0.0 && <0.1,
         exceptions >=0.8.3 && <0.9,
         filepath >=1.4.1.2 && <1.5,
@@ -34,7 +36,8 @@
     default-language: Haskell2010
     default-extensions: KindSignatures ViewPatterns FlexibleContexts
                         GeneralizedNewtypeDeriving PatternGuards RecordWildCards DataKinds
-                        DeriveDataTypeable DeriveGeneric
+                        DeriveDataTypeable DeriveGeneric FlexibleInstances
+                        MultiParamTypeClasses TypeFamilies ConstraintKinds
     other-extensions: ScopedTypeVariables
     hs-source-dirs: src
     other-modules:
diff --git a/src/System/FilePath/Cryptographic.hs b/src/System/FilePath/Cryptographic.hs
--- a/src/System/FilePath/Cryptographic.hs
+++ b/src/System/FilePath/Cryptographic.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE ScopedTypeVariables #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
 
 {-|
 Description: Reversably generate filepaths from arbitrary serializable types in a secure fashion
@@ -28,18 +29,19 @@
 ciphertext block (both in bits).
 -}
 module System.FilePath.Cryptographic
-  ( CryptoID(..)
-  , CryptoFileName
+  ( CryptoFileName
+  , HasCryptoFileName
   , module Data.Binary.SerializationLength
   , encrypt
   , decrypt
-  , CryptoIDError(..)
+  , module Data.CryptoID.Poly
   ) where
 
-import Data.CryptoID
 import Data.CryptoID.Poly hiding (encrypt, decrypt)
 import Data.CryptoID.ByteString (cipherBlockSize)
 import qualified Data.CryptoID.Poly as Poly (encrypt, decrypt)
+import Data.CryptoID.Class (HasCryptoID)
+import qualified Data.CryptoID.Class as Class (HasCryptoID(..))
 
 import System.FilePath (FilePath)
 import qualified Codec.Binary.Base32 as Base32
@@ -63,6 +65,7 @@
 
 
 type CryptoFileName (namespace :: Symbol) = CryptoID namespace (CI FilePath)
+type HasCryptoFileName (namespace :: Symbol) = HasCryptoID namespace (CI FilePath)
 
 
 paddedLength :: Integral a => a -> a
@@ -107,3 +110,12 @@
       where
         l' = paddedLength l
     paddingTable = [0, 6, 4, 3, 1]
+
+instance ( MonadCrypto m
+         , MonadCryptoKey m ~ CryptoIDKey
+         , KnownSymbol namespace
+         , Binary a
+         , HasFixedSerializationLength a
+         ) => HasCryptoID namespace (CI FilePath) a m where
+  encrypt = cryptoIDKey . flip encrypt
+  decrypt = cryptoIDKey . flip decrypt
diff --git a/src/System/FilePath/Cryptographic/ImplicitNamespace.hs b/src/System/FilePath/Cryptographic/ImplicitNamespace.hs
new file mode 100644
--- /dev/null
+++ b/src/System/FilePath/Cryptographic/ImplicitNamespace.hs
@@ -0,0 +1,20 @@
+{-|
+Description: Reversably generate filepaths from arbitrary serializable types with implicit type level nonces
+License: BSD3
+-}
+module System.FilePath.Cryptographic.ImplicitNamespace
+  ( CryptoFileName
+  , HasCryptoFileName
+  , module System.FilePath.Cryptographic
+  , module Data.CryptoID.Class.ImplicitNamespace
+  ) where
+
+import Data.CryptoID.Class.ImplicitNamespace
+
+import System.FilePath.Cryptographic hiding (encrypt, decrypt, CryptoID, HasCryptoID, CryptoFileName, HasCryptoFileName)
+
+import System.FilePath (FilePath)
+import Data.CaseInsensitive (CI)
+
+type CryptoFileName plaintext = CryptoID (CI FilePath) plaintext
+type HasCryptoFileName plaintext = HasCryptoID (CI FilePath) plaintext
