diff --git a/features/browse-iocs.feature b/features/browse-iocs.feature
new file mode 100644
index 0000000000000000000000000000000000000000..8e21d84fd960802518b5d68f8e35fe84e05768a1
--- /dev/null
+++ b/features/browse-iocs.feature
@@ -0,0 +1,48 @@
+Feature: Browse IOCs
+
+  Scenario: User wants to browse IOCs
+    Given the user is logged in
+    When the user navigates to the IOCs page
+    Then they should be presented with a table of IOCs
+
+  Scenario: User wants to see all IOCs
+    Given the user is on the IOCs page
+    When the user opens the Explore IOCs tab
+    Then the table should display all IOCs in the facility
+    And recently updated IOCs should be at the top
+
+  Scenario: User wants to see relevant IOCs
+    Given the user is on the IOCs page
+    When the user clicks on the Your IOCs tab
+    Then the table should display only IOCs which the user can edit
+    And recently updated IOCs should be at the top
+
+  Scenario: User wants to navigate to a specific IOC
+    Given the user is on the IOCs page
+    When the user clicks (exactly) on the IOC name link
+    Then the user should be redirected to the IOC Details page.
+
+  Scenario: User wants to highlight copy values from table to clipboard
+    Given the user is on the IOCs page
+    When the user highlights content within the table
+    Then they shall not be redirected to the IOC Details page
+
+  Scenario: User wants to search for an IOC
+    Given the user is on the IOCs page
+    When the user types a query in the search bar
+    Then the IOCs table should be updated with the search results
+
+  Scenario: User wants to filter the IOCs
+    Given the user is on the IOCs page
+    When the user types a filter into the search bar
+    Then the IOCs in the table should be filtered based on the search results.
+
+  Scenario: User wants change the order the IOCs are displayed
+    Given the user is on the IOCs page
+    When the user clicks on a column header in the table
+    Then the IOC table rows should be sorted by the values of that column
+
+  Scenario: More IOCs than can be displayed
+    Given the user is on the IOCs page
+    When there are more IOCs matching the search query than can be displayed
+    Then a warning should be shown letting the user know that all IOCs are not rendered
diff --git a/features/ioc-creation.feature b/features/ioc-creation.feature
new file mode 100644
index 0000000000000000000000000000000000000000..58f5bdbffb0ea32f89cb88494132de59961de1f2
--- /dev/null
+++ b/features/ioc-creation.feature
@@ -0,0 +1,27 @@
+  Scenario: User opens IOC creation form
+    Given the user is on the IOCs page
+    When the user clicks the create IOC button
+    Then the user should be presented with a form to create an IOC
+
+  Scenario: User searches for host in IOC form
+    Given the user has opened the IOC form
+    When the user types into the target host field
+    Then an autocomplete box should prompt the user with possible matches
+  
+  Scenario: User searches for git repository in IOC form
+    Given the user has opened the IOC form
+    When the user types into the git repository field
+    Then an autocomplete box should prompt the user with possible matches
+
+  Scenario: User searches for git version in IOC form
+    Given the user has opended the IOC from
+    And populated the git repository field with a valid repository
+    When the user types into the git version field
+    Then an autocomplete box should prompt the user with possible matches 
+  
+  Scenario: User submits IOC creation form
+    Given the user has filled out the IOC creation form
+    And the information is valid
+    When the user clicks on the Create IOC button
+    Then A new IOC should be created
+    And the user should be redirected to the new IOC details page
\ No newline at end of file
diff --git a/features/logout.feature b/features/logout.feature
new file mode 100644
index 0000000000000000000000000000000000000000..4ef2c352544e6890e9e32bbf280b7a2cc020b999
--- /dev/null
+++ b/features/logout.feature
@@ -0,0 +1,13 @@
+Feature: Logging out
+
+  Scenario: The user clicks the logout button
+    Given the user is logged in
+    When the user clicks the logout button
+    Then they should be logged out from the application
+    And they should be redirected to the login page
+
+  Scenario: The user's session expires
+    Given the user is logged in
+    When the session time has elapsed
+    Then the user should be logged out from the application
+    And they should be redirected to the login page
\ No newline at end of file
diff --git a/features/menu.feature b/features/menu.feature
new file mode 100644
index 0000000000000000000000000000000000000000..8700a8955c733471d9f70bdf631f38f941bb7e1a
--- /dev/null
+++ b/features/menu.feature
@@ -0,0 +1,10 @@
+Feature: Navigation menu
+  
+  Scenario: User opens the navigation menu
+    Given the user is logged in
+    When they click on the menu icon
+    Then they will see their user information
+    And a link to browse IOCs
+    And a link to browse hosts
+    And a link to browse deployments
+    And a link to logout of the application
\ No newline at end of file
diff --git a/features/navigation.feature b/features/navigation.feature
new file mode 100644
index 0000000000000000000000000000000000000000..647101f8f0a9af51d5c6fc09f46731922742c28c
--- /dev/null
+++ b/features/navigation.feature
@@ -0,0 +1,25 @@
+Feature: Intuitive Navigation
+
+  Scenario: User navigates between internal pages
+    Given the user has opened the application
+    When they click on an internal link
+    Then the selected content shall be loaded
+    And the application source shall not be reloaded
+
+  Scenario: User clicks on link to external page
+    Given the user has opened the application
+    When they click on a link to an external site
+    Then the content will open in a new tab or window
+
+  Scenario: User clicks the browser back button
+    Given the user has navigated within the application
+    When they click the browser's back button
+    Then they shall be taken to the previous internal page they visited
+    And the application source shall not be reloaded
+
+  Scenario: User clicks the browser refresh button
+    Given the user has opened the application
+    When they click the browser refresh button
+    Then the application source shall be reloaded
+    And the user will be returned to the same page
+