diff --git a/changelog/20907.txt b/changelog/20907.txt
new file mode 100644
index 0000000000..3f13a659de
--- /dev/null
+++ b/changelog/20907.txt
@@ -0,0 +1,3 @@
+```release-note:bug
+ui: fixes key_bits and signature_bits reverting to default values when editing a pki role
+```
\ No newline at end of file
diff --git a/ui/app/models/pki/role.js b/ui/app/models/pki/role.js
index f272456139..ea74551914 100644
--- a/ui/app/models/pki/role.js
+++ b/ui/app/models/pki/role.js
@@ -184,7 +184,7 @@ export default class PkiRoleModel extends Model {
})
keyBits; // no possibleValues because options are dependent on selected key type
- @attr('number', {
+ @attr('string', {
label: 'Signature bits',
subText: `Only applicable for key_type 'RSA'. Ignore for other key types.`,
defaultValue: '0',
diff --git a/ui/lib/core/addon/components/form-field.hbs b/ui/lib/core/addon/components/form-field.hbs
index 126ef28f70..38b520aac8 100644
--- a/ui/lib/core/addon/components/form-field.hbs
+++ b/ui/lib/core/addon/components/form-field.hbs
@@ -46,7 +46,7 @@
{{/if}}
{{#each (path-or-array @attr.options.possibleValues @model) as |val|}}
-
{{/each}}
diff --git a/ui/lib/core/addon/helpers/loose-equal.js b/ui/lib/core/addon/helpers/loose-equal.js
new file mode 100644
index 0000000000..78767fe552
--- /dev/null
+++ b/ui/lib/core/addon/helpers/loose-equal.js
@@ -0,0 +1,22 @@
+/**
+ * Copyright (c) HashiCorp, Inc.
+ * SPDX-License-Identifier: MPL-2.0
+ */
+
+import { helper } from '@ember/component/helper';
+
+/*
+ * use sparingly *
+ ex: logic for an HTML element's selected boolean because