diff --git a/horizon.dhall b/horizon.dhall
index 7e102a59d44391dd7579197bfb7973143ad5bcc3..6191bb24631cbb006b812be5e46d2918960b9a8b 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -554,6 +554,7 @@ let packages =
       , iso8601-time = H.callHackage "iso8601-time" "0.1.5"
       , iwlib = H.callHackage "iwlib" "0.1.2"
       , jira-wiki-markup = H.callHackage "jira-wiki-markup" "1.4.0"
+      , jose = H.callHackage "jose" "0.9"
       , js-chart = H.callHackage "js-chart" "2.9.4.1"
       , js-dgtable = H.callHackage "js-dgtable" "0.5.2"
       , js-flot = H.callHackage "js-flot" "0.8.3"
diff --git a/initial-packages.nix b/initial-packages.nix
index 43975c19fa05db4e5b3b02384c73f37da839e354..6e558d71f9303a5eeb198899142b8be41a10564d 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -873,6 +873,8 @@ self: with pkgs.haskell.lib; {
 
   jira-wiki-markup = self.callPackage (./pkgs/jira-wiki-markup.nix) { };
 
+  jose = self.callPackage (./pkgs/jose.nix) { };
+
   js-chart = self.callPackage (./pkgs/js-chart.nix) { };
 
   js-dgtable = self.callPackage (./pkgs/js-dgtable.nix) { };
diff --git a/pkgs/jose.nix b/pkgs/jose.nix
new file mode 100644
index 0000000000000000000000000000000000000000..948813586f34ced2b11ba1d7332f700e31112125
--- /dev/null
+++ b/pkgs/jose.nix
@@ -0,0 +1,87 @@
+{ mkDerivation
+, QuickCheck
+, aeson
+, base
+, base64-bytestring
+, bytestring
+, concise
+, containers
+, cryptonite
+, hspec
+, lens
+, lib
+, memory
+, monad-time
+, mtl
+, network-uri
+, pem
+, quickcheck-instances
+, tasty
+, tasty-hspec
+, tasty-quickcheck
+, template-haskell
+, text
+, time
+, x509
+}:
+mkDerivation {
+  pname = "jose";
+  version = "0.9";
+  sha256 = "92f919239d02c9f3369d885ba9a3a9fdf14f352e2dc281c3f50a5993df00314e";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    base
+    base64-bytestring
+    bytestring
+    concise
+    containers
+    cryptonite
+    lens
+    memory
+    monad-time
+    mtl
+    network-uri
+    QuickCheck
+    quickcheck-instances
+    template-haskell
+    text
+    time
+    x509
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    base64-bytestring
+    bytestring
+    concise
+    containers
+    cryptonite
+    hspec
+    lens
+    mtl
+    network-uri
+    pem
+    QuickCheck
+    quickcheck-instances
+    tasty
+    tasty-hspec
+    tasty-quickcheck
+    text
+    time
+    x509
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/frasertweedale/hs-jose";
+  description = "JSON Object Signing and Encryption (JOSE) and JSON Web Token (JWT) library";
+  license = lib.licenses.asl20;
+  broken = false;
+}