diff --git a/program/migrations/0098_alter_userprofile_options.py b/program/migrations/0098_alter_userprofile_options.py
new file mode 100644
index 0000000000000000000000000000000000000000..988eac55b2e326aced55e4defbc1922e9381b421
--- /dev/null
+++ b/program/migrations/0098_alter_userprofile_options.py
@@ -0,0 +1,22 @@
+# Generated by Django 4.2.13 on 2024-06-11 19:08
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("program", "0097_alter_host_options"),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name="userprofile",
+            options={
+                "permissions": [
+                    ("edit__user_profile__cba_username", "Can edit CBA username field"),
+                    ("edit__user_profile__cba_user_token", "Can edit CBA user token field"),
+                ]
+            },
+        ),
+    ]
diff --git a/program/models.py b/program/models.py
index 80070c35c397c4edd174b83d72c33f801d490036..3ee9ce58967106b60e14eea9a7889e7a93c7fc6d 100644
--- a/program/models.py
+++ b/program/models.py
@@ -528,6 +528,12 @@ class UserProfile(models.Model):
     updated_by = models.CharField(blank=True, default="", max_length=150)
     user = models.OneToOneField(User, null=True, on_delete=models.SET_NULL, related_name="profile")
 
+    class Meta:
+        permissions = [
+            ("edit__user_profile__cba_username", "Can edit CBA username field"),
+            ("edit__user_profile__cba_user_token", "Can edit CBA user token field"),
+        ]
+
     def __str__(self):
         return self.user.username