diff --git a/src/components/settings_modal/admin_tabs/federation_tab.js b/src/components/settings_modal/admin_tabs/federation_tab.js
new file mode 100644
index 000000000..97b4e0040
--- /dev/null
+++ b/src/components/settings_modal/admin_tabs/federation_tab.js
@@ -0,0 +1,34 @@
+import BooleanSetting from '../helpers/boolean_setting.vue'
+import IntegerSetting from '../helpers/integer_setting.vue'
+import StringSetting from '../helpers/string_setting.vue'
+import GroupSetting from '../helpers/group_setting.vue'
+import AttachmentSetting from '../helpers/attachment_setting.vue'
+import ListSetting from '../helpers/list_setting.vue'
+import ListTupleSetting from '../helpers/list_tuple_setting.vue'
+import MapSetting from '../helpers/map_setting.vue'
+
+import SharedComputedObject from '../helpers/shared_computed_object.js'
+
+const FederationTab = {
+ provide () {
+ return {
+ defaultDraftMode: true,
+ defaultSource: 'admin'
+ }
+ },
+ components: {
+ BooleanSetting,
+ IntegerSetting,
+ StringSetting,
+ AttachmentSetting,
+ ListSetting,
+ ListTupleSetting,
+ GroupSetting,
+ MapSetting
+ },
+ computed: {
+ ...SharedComputedObject()
+ }
+}
+
+export default FederationTab
diff --git a/src/components/settings_modal/admin_tabs/federation_tab.vue b/src/components/settings_modal/admin_tabs/federation_tab.vue
new file mode 100644
index 000000000..6def05a6e
--- /dev/null
+++ b/src/components/settings_modal/admin_tabs/federation_tab.vue
@@ -0,0 +1,62 @@
+
+ {{ $t('admin_dash.federation.global') }}
+
+
+ {{ $t('admin_dash.federation.restrictions') }}
+
+
+ {{ $t('admin_dash.federation.activitypub') }}
+
+
+