diff --git a/src/components/Form/fields/FieldPassword.mdx b/src/components/Form/fields/FieldPassword.mdx
new file mode 100644
index 000000000..8d7a338ed
--- /dev/null
+++ b/src/components/Form/fields/FieldPassword.mdx
@@ -0,0 +1,15 @@
+import {Primary, Controls, Stories, Meta} from '@storybook/blocks';
+
+import * as FieldPasswordStories from './FieldPassword.stories.js';
+
+
+
+# FieldPassword
+
+## Usage
+
+TODO: Usage text to go here
+
+
+
+
diff --git a/src/components/Form/fields/FieldPassword.stories.js b/src/components/Form/fields/FieldPassword.stories.js
new file mode 100644
index 000000000..387f4505e
--- /dev/null
+++ b/src/components/Form/fields/FieldPassword.stories.js
@@ -0,0 +1,35 @@
+import FieldPassword from '@/components/Form/fields/FieldPassword.vue';
+import FieldBaseMock from '@/components/Form/mocks/field-base';
+
+export default {
+ title: 'Forms/FieldPassword',
+ component: FieldPassword,
+ render: (args) => ({
+ components: {FieldPassword},
+ setup() {
+ function change(name, prop, newValue, localeKey) {
+ if (localeKey) {
+ args[prop][localeKey] = newValue;
+ } else {
+ args[prop] = newValue;
+ }
+ }
+
+ return {args, change};
+ },
+ template: `
+
+ `,
+ }),
+};
+
+export const Base = {
+ args: {
+ ...FieldBaseMock,
+ name: 'access-secret',
+ component: 'field-password',
+ label: 'Access Secret',
+ isRequired: true,
+ value: '',
+ },
+};
diff --git a/src/components/Form/fields/FieldPassword.vue b/src/components/Form/fields/FieldPassword.vue
new file mode 100644
index 000000000..d8e682503
--- /dev/null
+++ b/src/components/Form/fields/FieldPassword.vue
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+