diff --git a/functional_tests/features/monkeysphere.feature b/functional_tests/features/monkeysphere.feature
index 4abaca68c..deaf54741 100644
--- a/functional_tests/features/monkeysphere.feature
+++ b/functional_tests/features/monkeysphere.feature
@@ -15,7 +15,7 @@
# along with this program. If not, see .
#
-@apps @monkeysphere
+@apps @monkeysphere @backups
Feature: Monkeysphere
Import and publish OpenPGP keys for SSH and HTTPS keys
@@ -39,3 +39,12 @@ Scenario: Publish SSH keys
Scenario: Publish HTTPS keys
Given the HTTPS key for mydomain.example is imported in monkeysphere
Then I should be able to publish HTTPS key for mydomain.example in monkeysphere
+
+Scenario: Backup and restore monkeysphere
+ When I import SSH key for mydomain.example in monkeysphere
+ And I import HTTPS key for mydomain.example in monkeysphere
+ And I create a backup of the monkeysphere app data
+ And I export the monkeysphere app data backup
+ And I restore the monkeysphere app data backup
+ Then the SSH key should imported for mydomain.example in monkeysphere
+ And the HTTPS key should imported for mydomain.example in monkeysphere
diff --git a/plinth/modules/monkeysphere/__init__.py b/plinth/modules/monkeysphere/__init__.py
index 7e33216c2..f88b3d476 100644
--- a/plinth/modules/monkeysphere/__init__.py
+++ b/plinth/modules/monkeysphere/__init__.py
@@ -22,6 +22,8 @@ from django.utils.translation import ugettext_lazy as _
from plinth.menu import main_menu
+from .manifest import backup
+
version = 1
managed_packages = ['monkeysphere']
diff --git a/plinth/modules/monkeysphere/manifest.py b/plinth/modules/monkeysphere/manifest.py
new file mode 100644
index 000000000..b1fa622bc
--- /dev/null
+++ b/plinth/modules/monkeysphere/manifest.py
@@ -0,0 +1,30 @@
+#
+# This file is part of FreedomBox.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+"""
+Application manfiest for monkeysphere.
+"""
+
+from plinth.modules.backups.api import validate as validate_backup
+
+backup = validate_backup({
+ 'config': {
+ 'directories': ['/etc/monkeysphere/']
+ },
+ 'secrets': {
+ 'directories': ['/var/lib/monkeysphere/']
+ }
+})