diff --git a/src/cassim_security.erl b/src/cassim_security.erl
index 08fe791..ad33c2c 100644
--- a/src/cassim_security.erl
+++ b/src/cassim_security.erl
@@ -38,9 +38,7 @@
     get_security(DbName, [?ADMIN_CTX]).
 
 
-get_security(#db{name=DbName}, Options) ->
-    get_security(DbName, Options);
-get_security(DbName, Options) ->
+get_security(DbName, Options) when is_binary(DbName) ->
     case cassim:is_active() of
         true ->
             UserCtx = couch_util:get_value(user_ctx, Options, #user_ctx{}),
@@ -50,7 +48,9 @@
             {proplists:delete(<<"_id">>, SecProps)};
         false ->
             fabric:get_security(DbName, Options)
-    end.
+    end;
+get_security(Db, Options) ->
+    get_security(couch_db:name(Db), Options).
 
 
 get_security_doc(DbName) when is_binary(DbName) ->
@@ -90,20 +90,22 @@
     set_security(DbName, SecProps, [?ADMIN_CTX]).
 
 
-set_security(#db{name=DbName0}, #doc{}=SecDoc0, Options) ->
+set_security(DbName0, #doc{}=SecDoc0, Options) when is_binary(DbName0) ->
     DbName = mem3:dbname(DbName0),
     MetaId = cassim_metadata_cache:security_meta_id(DbName),
     SecDoc = SecDoc0#doc{id=MetaId},
     UserCtx = couch_util:get_value(user_ctx, Options, #user_ctx{}),
     MetaDbName = cassim_metadata_cache:metadata_db(),
-    MetaDb = #db{name=MetaDbName, user_ctx=?ADMIN_USER},
+    {ok, MetaDb} = couch_db:clustered_db(MetaDbName, ?ADMIN_USER),
     cassim:verify_admin_role(UserCtx),
     ok = validate_security_doc(SecDoc),
     {Status, Etag, {Body0}} =
         chttpd_db:update_doc(MetaDb, MetaId, SecDoc, Options),
     Body = {proplists:delete(<<"_id">>, Body0)},
     ok = cassim_metadata_cache:cleanup_old_docs(MetaId),
-    {Status, Etag, Body}.
+    {Status, Etag, Body};
+set_security(Db, SecDoc, Options) ->
+    set_security(couch_db:name(Db), SecDoc, Options).
 
 
 migrate_security_props(DbName0, {SecProps}) ->
@@ -111,7 +113,7 @@
     MetaId = cassim_metadata_cache:security_meta_id(DbName),
     SecDoc = #doc{id=MetaId, body={SecProps}},
     MetaDbName = cassim_metadata_cache:metadata_db(),
-    MetaDb = #db{name=MetaDbName, user_ctx=?ADMIN_USER},
+    {ok, MetaDb} = couch_db:clustered_db(MetaDbName, ?ADMIN_USER),
     %% Better way to construct a new #doc{} with the rev?
     {_, _, {Body}} = chttpd_db:update_doc(MetaDb, MetaId, SecDoc, [?ADMIN_CTX]),
     Rev = proplists:get_value(rev, Body),
@@ -149,8 +151,5 @@
 
 
 check_is_member(UserCtx, SecProps) ->
-    FakeDb = #db{
-        security = SecProps,
-        user_ctx = UserCtx
-    },
+    {ok, FakeDb} = couch_db:clustered_db(<<"foo">>, UserCtx, SecProps),
     couch_db:check_is_member(FakeDb).
