diff --git a/router/java/src/net/i2p/router/crypto/ratchet/SessionTagListener.java b/router/java/src/net/i2p/router/crypto/ratchet/SessionTagListener.java
new file mode 100644
index 0000000000000000000000000000000000000000..e304fbfb0d6fddabf80ec1ac4cec5b872e385d58
--- /dev/null
+++ b/router/java/src/net/i2p/router/crypto/ratchet/SessionTagListener.java
@@ -0,0 +1,23 @@
+package net.i2p.router.crypto.ratchet;
+
+import net.i2p.data.SessionTag;
+
+/**
+ * Something that looks for SessionTags.
+ *
+ * @since 0.9.44
+ */
+interface SessionTagListener {
+
+    /**
+     *  Map the tag to this tagset.
+     *
+     *  @return true if added, false if dup
+     */
+    public boolean addTag(RatchetSessionTag tag, RatchetTagSet ts);
+
+    /**
+     *  Remove the tag associated with this tagset.
+     */
+    public void expireTag(RatchetSessionTag tag, RatchetTagSet ts);
+}