   no visible side effects: the same plaintext will always generate the
   same byte array. However, note that the returned nonce will be a
   mutable byte array."
-  [plaintext])
+  [key plaintext]
+  (g/blake2b plaintext {:size s/noncebytes
+                        :key key
+                        :personal synthetic-personal}))
 
 (defn secretbox-det
   "secretbox, with deterministic nonce.

  [msg key]
  (secretbox-pfx msg (random-nonce!) key))

(defn ^:private synthetic-nonce
  "Creates a synthetic nonce from the given plaintext.


  resistance, use [[secretbox-rnd]]. The other functions are fairly
  limited use."
  (:require [caesium.crypto.secretbox :as s]
            [caesium.randombytes :as r]
            [caesium.crypto.generichash :as g])
  (:import [java.nio ByteBuffer]))

(defn secretbox-pfx
