diff --git a/app/keys_home/migrations/0001_initial.py b/app/keys_home/migrations/0001_initial.py
new file mode 100644
index 0000000000000000000000000000000000000000..653694849b71d68e4257070ebb7715311bcc9dd4
--- /dev/null
+++ b/app/keys_home/migrations/0001_initial.py
@@ -0,0 +1,40 @@
+# Generated by Django 3.1.3 on 2021-03-02 20:28
+
+import logging
+from django.db import migrations
+from django.contrib.auth.models import Group, User
+from guardian.utils import get_anonymous_user
+from guardian.shortcuts import get_objects_for_user, assign_perm
+from pgp import models as pgp
+from ssh import models as ssh
+from owlca import models as owlca
+
+def add_any_group(*args):
+    group, created = Group.objects.get_or_create(name='any-user') 
+    if created:
+        logging.info('any-user Group created')
+
+        for user in User.objects.all():
+            logging.info(f"Adding {user} to any-user Group")
+            group.user_set.add(user)
+
+        propagate_klasses = {
+            "view_publickey": pgp.PublicKey,
+            "view_sshpublickey": ssh.SSHPublicKey,
+            "view_certificationauthority": owlca.CertificationAuthority,
+        }
+        group.save()
+
+        anon = get_anonymous_user()
+        for perm, klass in propagate_klasses.items():
+            objs = get_objects_for_user(anon, perm, klass)
+            assign_perm(perm, group, objs)
+		
+
+class Migration(migrations.Migration):
+    dependencies = [
+    ]
+
+    operations = [
+        migrations.RunPython(add_any_group),
+    ]
diff --git a/app/pgp/admin.py b/app/pgp/admin.py
index aaf003be3e323dfcc1a840f0be562cbc634915cf..cb0529af5a2f681bae4e62dae5a0a8bc2d393fca 100644
--- a/app/pgp/admin.py
+++ b/app/pgp/admin.py
@@ -1,5 +1,8 @@
 from django.contrib import admin
-
+from guardian.admin import GuardedModelAdmin
 from . import models
 
-admin.site.register(models.PublicKey)
+class PublicKeyAdmin(GuardedModelAdmin):
+    pass
+
+admin.site.register(models.PublicKey, PublicKeyAdmin)
diff --git a/app/ssh/admin.py b/app/ssh/admin.py
index 0bb99ca96aa10a204231ab4b71b86f468b0d81b3..3897bf09717f6615a9dbab515082ec8ff3c9fce1 100644
--- a/app/ssh/admin.py
+++ b/app/ssh/admin.py
@@ -1,4 +1,8 @@
 from django.contrib import admin
+from guardian.admin import GuardedModelAdmin
 from . import models
 
-admin.site.register(models.SSHPublicKey)
+class SSHPublicKeyAdmin(GuardedModelAdmin):
+    pass
+
+admin.site.register(models.SSHPublicKey, SSHPublicKeyAdmin)