diff --git a/docs/scripts/gen_ref_pages.py b/docs/scripts/gen_ref_pages.py
index 9d0cd44dcc15aa7182f1d1569f04e9b3b4661e0a..11e0e2feaa7dfb8d65db39b81375a0ea33df9d0d 100644
--- a/docs/scripts/gen_ref_pages.py
+++ b/docs/scripts/gen_ref_pages.py
@@ -1,3 +1,4 @@
+# noqa: INP001
 """Generate the code reference pages.
 
 Source: https://mkdocstrings.github.io/recipes/
diff --git a/docs/scripts/gen_wf_redirects.py b/docs/scripts/gen_wf_redirects.py
index f9a03e60ec44b48b70db39c02cb80bed76cee586..ddd49909aae5e4ce59206bbff40b53ad9904a983 100644
--- a/docs/scripts/gen_wf_redirects.py
+++ b/docs/scripts/gen_wf_redirects.py
@@ -1,3 +1,4 @@
+# noqa: INP001
 """Generate pages to forward workflow URLs.
 
 This will redirect `/workflow/workflow_name` to `reference/gso/workflow/module/workflow_name`. This is required since
@@ -21,18 +22,17 @@ for path in sorted(src.rglob("*.py")):
     elif parts[-1] == "__main__":
         continue
 
-    if len(parts) == 4 and "workflows" in parts:
+    if len(parts) == 4 and "workflows" in parts:  # noqa: PLR2004
         redirect_map["workflow/" + parts[3] + "/index.md"] = "https://docs.gap.geant.org/reference/" + "/".join(parts)
 
-with open(root / "wf_redirects.yaml", 'w') as redirect_file:
+with Path.open(root / "wf_redirects.yaml", "w") as redirect_file:
     file_content = {
-        "plugins":
-            [
-                "search",
-                {"gen-files": {"scripts": ["scripts/gen_ref_pages.py"]}},
-                {"redirects": {"redirect_maps": redirect_map}},
-                {"literate-nav": {"nav_file": "SUMMARY.md"}},
-                "mkdocstrings",
-            ]
+        "plugins": [
+            "search",
+            {"gen-files": {"scripts": ["scripts/gen_ref_pages.py"]}},
+            {"redirects": {"redirect_maps": redirect_map}},
+            {"literate-nav": {"nav_file": "SUMMARY.md"}},
+            "mkdocstrings",
+        ]
     }
     yaml.dump(file_content, redirect_file)
diff --git a/gso/__init__.py b/gso/__init__.py
index 478efc94c1cba9cec5745153b8a47890c83feab0..ccbb2d0df7993b2fb35a88781f053de344ed2143 100644
--- a/gso/__init__.py
+++ b/gso/__init__.py
@@ -1,4 +1,4 @@
-"""The main entrypoint for :term:`GSO`, and the different ways in which it can be run."""
+"""The main entrypoint for GSO, and the different ways in which it can be run."""
 
 import os
 
@@ -24,13 +24,13 @@ SCALAR_OVERRIDES.update(GSO_SCALAR_OVERRIDES)
 
 
 def gso_initialise_celery(celery: Celery) -> None:
-    """Initialise the :term:`Celery` app."""
+    """Initialise the Celery app."""
     initialise_celery(celery)
     celery.conf.task_routes = {}
 
 
 def init_gso_app() -> OrchestratorCore:
-    """Initialise the :term:`GSO` app."""
+    """Initialise the GSO app."""
     app = OrchestratorCore(base_settings=app_settings)
     app.register_authentication(oidc_instance)
     app.register_authorization(opa_instance)
@@ -55,7 +55,7 @@ def init_gso_app() -> OrchestratorCore:
 
 
 def init_cli_app() -> typer.Typer:
-    """Initialise :term:`GSO` as a CLI application."""
+    """Initialise GSO as a CLI application."""
     from gso.cli import imports, netbox  # noqa: PLC0415
 
     cli_app.add_typer(imports.app, name="import-cli")
diff --git a/gso/api/__init__.py b/gso/api/__init__.py
index d6167385ad2fa042b7d5d70211e98901ce883f50..6a3c99b7a3bce38e45c60ff748dfcc1696655fb8 100644
--- a/gso/api/__init__.py
+++ b/gso/api/__init__.py
@@ -1,4 +1,4 @@
-"""Initialisation class for the :term:`GSO` :term:`API`."""
+"""Initialisation class for the GSO API."""
 
 from fastapi import APIRouter
 
diff --git a/gso/api/v1/__init__.py b/gso/api/v1/__init__.py
index 4694b6c55ab142a01a45037e93827ed1a2ca439c..8772f54efc9ece49a95f43b3df3cdde92269b58f 100644
--- a/gso/api/v1/__init__.py
+++ b/gso/api/v1/__init__.py
@@ -1,4 +1,4 @@
-"""Version 1 of the :term:`GSO` :term:`API`."""
+"""Version 1 of the GSO API."""
 
 from fastapi import APIRouter
 
diff --git a/gso/api/v1/subscriptions.py b/gso/api/v1/subscriptions.py
index bf4e96bfb6c0b2932d183d1c2707f2a18bf5a608..ba762cabb645a38adfdfbd4dd77064232934f36a 100644
--- a/gso/api/v1/subscriptions.py
+++ b/gso/api/v1/subscriptions.py
@@ -1,4 +1,4 @@
-""":term:`API` endpoint for fetching different types of subscriptions."""
+"""API endpoint for fetching different types of subscriptions."""
 
 from typing import Any
 
diff --git a/gso/cli/__init__.py b/gso/cli/__init__.py
index b50714544da3a18459f655c47ce01e224a596c00..cb25f470f9df5c297e9ec4947fdbcd98629ab0ba 100644
--- a/gso/cli/__init__.py
+++ b/gso/cli/__init__.py
@@ -1 +1 @@
-"""The :term:`CLI` of :term:`GSO`."""
+"""The CLI of GSO."""
diff --git a/gso/cli/imports.py b/gso/cli/imports.py
index bca9ccd4bc49daeb873bc6c696deec077fda6892..c57d80bd43ba0b10305ea78e10103e494ab70bcd 100644
--- a/gso/cli/imports.py
+++ b/gso/cli/imports.py
@@ -1,4 +1,4 @@
-""":term:`CLI` commands for importing data to coreDB."""
+"""CLI commands for importing data to coreDB."""
 
 import csv
 import ipaddress
@@ -153,7 +153,7 @@ class IptrunkImportModel(BaseModel):
 
     @field_validator("side_a_node_id", "side_b_node_id")
     def check_if_router_side_is_available(cls, value: str) -> str:
-        """Both sides of the trunk must exist in :term:`GSO`."""
+        """Both sides of the trunk must exist in GSO."""
         if value not in cls._get_active_routers():
             msg = f"Router {value} not found"
             raise ValueError(msg)
@@ -162,7 +162,7 @@ class IptrunkImportModel(BaseModel):
 
     @model_validator(mode="after")
     def check_members(self) -> Self:
-        """Amount of :term:`LAG` members has to match on side A and B, and meet the minimum requirement."""
+        """Amount of LAG members has to match on side A and B, and meet the minimum requirement."""
         len_a = len(self.side_a_ae_members)
         len_b = len(self.side_b_ae_members)
 
@@ -218,7 +218,7 @@ class EdgePortImportModel(BaseModel):
 
     @field_validator("node")
     def validate_node(cls, value: str) -> str:
-        """Check if the node is an active PE router in :term:`GSO`."""
+        """Check if the node is an active PE router in GSO."""
         pe_routers = {
             str(router.subscription_id)
             for router in get_active_subscriptions_by_field_and_value("router_role", RouterRole.PE)
@@ -231,7 +231,7 @@ class EdgePortImportModel(BaseModel):
 
     @model_validator(mode="after")
     def check_members(self) -> Self:
-        """Amount of :term:`LAG` members has to match and meet the minimum requirement."""
+        """Amount of LAG members has to match and meet the minimum requirement."""
         if len(self.ae_members) < self.minimum_links:
             msg = f"Number of members should be at least {self.minimum_links} (edge_port_minimum_links)"
             raise ValueError(msg)
@@ -657,7 +657,7 @@ def import_partners(file_path: str = typer.Argument(..., help="Path to the CSV f
 
 @app.command()
 def import_l3_core_service(filepath: str = common_filepath_option) -> None:
-    """Import L3 Core Services into :term:`GSO`."""
+    """Import L3 Core Services into GSO."""
     successfully_imported_data = []
     l3_core_service_list = _read_data(Path(filepath))
 
@@ -702,7 +702,7 @@ def import_l3_core_service(filepath: str = common_filepath_option) -> None:
 
 @app.command()
 def import_lan_switch_interconnect(filepath: str = common_filepath_option) -> None:
-    """Import :term:`LAN` Switch Interconnect services into :term:`GSO`."""
+    """Import LAN Switch Interconnect services into GSO."""
     _generic_import_product(
         Path(filepath),
         ProductType.IMPORTED_LAN_SWITCH_INTERCONNECT,
diff --git a/gso/cli/netbox.py b/gso/cli/netbox.py
index 8765f1a49ecc3653be9b6bf14a730080b5974177..b49455830aa4e50ae446a3121d0076012a6e802b 100644
--- a/gso/cli/netbox.py
+++ b/gso/cli/netbox.py
@@ -1,4 +1,4 @@
-"""A :term:`CLI` for interacting with Netbox."""
+"""A CLI for interacting with Netbox."""
 
 import typer
 from pynetbox import RequestError
diff --git a/gso/main.py b/gso/main.py
index 20098b12ff3007f23ceca4e33d804ad64dfca8b2..d0fe880411ac682b4bd42143277a25c3ab1f193d 100755
--- a/gso/main.py
+++ b/gso/main.py
@@ -1,4 +1,4 @@
-"""The main module that runs :term:`GSO`."""
+"""The main module that runs GSO."""
 
 from gso import init_cli_app, init_gso_app
 
diff --git a/gso/products/__init__.py b/gso/products/__init__.py
index c0e3d173e57a96a559a49996d1815404b698b274..88552bc719940b2a95aaed3421c86d1f322566b6 100644
--- a/gso/products/__init__.py
+++ b/gso/products/__init__.py
@@ -1,4 +1,4 @@
-"""Module that updates the domain model of :term:`GSO`. Should contain all types of subscriptions.
+"""Module that updates the domain model of GSO. Should contain all types of subscriptions.
 
 .. warning::
    Whenever a new product is added, this should be reflected in the `ProductType` enumerator.
@@ -24,7 +24,7 @@ from gso.products.product_types.vrf import VRF
 
 
 class ProductName(strEnum):
-    """An enumerator of available product names in :term:`GSO`."""
+    """An enumerator of available product names in GSO."""
 
     IP_TRUNK = "IP trunk"
     ROUTER = "Router"
@@ -63,7 +63,7 @@ class ProductName(strEnum):
 
 
 class ProductType(strEnum):
-    """An enumerator of available product types in :term:`GSO`."""
+    """An enumerator of available product types in GSO."""
 
     IP_TRUNK = Iptrunk.__name__
     ROUTER = Router.__name__
diff --git a/gso/products/product_blocks/iptrunk.py b/gso/products/product_blocks/iptrunk.py
index ad83609defc7289d49ff01b9501ce87469e16f5b..7978edd6283dae01eb03ac24302ea394d851126b 100644
--- a/gso/products/product_blocks/iptrunk.py
+++ b/gso/products/product_blocks/iptrunk.py
@@ -134,7 +134,7 @@ class IptrunkBlock(IptrunkBlockProvisioning, lifecycle=[SubscriptionLifecycle.AC
     iptrunk_speed: PhysicalPortCapacity
     #:  The minimum amount of links the trunk should consist of.
     iptrunk_minimum_links: int
-    #:  The :term:`ISIS` metric of this link
+    #:  The ISIS metric of this link
     iptrunk_isis_metric: int
     #:  The IPv4 network used for this trunk.
     iptrunk_ipv4_network: ipaddress.IPv4Network
diff --git a/gso/products/product_blocks/pop_vlan.py b/gso/products/product_blocks/pop_vlan.py
index 7e60aa2e2c762bd3d24977b3ddceae8a1b0f89f4..e90d665599bd64256abc5cef4ab09959f9a52b80 100644
--- a/gso/products/product_blocks/pop_vlan.py
+++ b/gso/products/product_blocks/pop_vlan.py
@@ -1,4 +1,4 @@
-"""Pop :term:`VLAN` product block that has all parameters of a subscription throughout its lifecycle."""
+"""PoP VLAN product block that has all parameters of a subscription throughout its lifecycle."""
 
 from ipaddress import IPv4Network, IPv6Network
 from typing import Annotated, TypeVar
@@ -32,7 +32,7 @@ PortList = Annotated[list[T], AfterValidator(validate_unique_list), Doc("A list
 class PopVlanPortBlockInactive(
     ProductBlockModel, lifecycle=[SubscriptionLifecycle.INITIAL], product_block_name="PopVlanPortBlock"
 ):
-    """An inactive Pop :term:`VLAN` port."""
+    """An inactive Pop VLAN port."""
 
     port_name: str | None = None
     port_description: str | None = None
@@ -40,7 +40,7 @@ class PopVlanPortBlockInactive(
 
 
 class PopVlanPortBlockProvisioning(PopVlanPortBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
-    """A Pop :term:`VLAN` port that is being provisioned."""
+    """A Pop VLAN port that is being provisioned."""
 
     port_name: str | None
     port_description: str | None
diff --git a/gso/products/product_blocks/router.py b/gso/products/product_blocks/router.py
index 6d7dabf9dff3eaded338a420834f9e509d8584a1..7f64c3f5b10d4cc46b812d0a7b67b28f2b323020 100644
--- a/gso/products/product_blocks/router.py
+++ b/gso/products/product_blocks/router.py
@@ -55,7 +55,7 @@ class RouterBlockProvisioning(RouterBlockInactive, lifecycle=[SubscriptionLifecy
 class RouterBlock(RouterBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
     """A router that's currently deployed in the network."""
 
-    #:  :term:`FQDN` of a router.
+    #:  FQDN of a router.
     router_fqdn: str
     #:  The port of the terminal server that this router is connected to. Used to offer out of band access.
     router_ts_port: PortNumber
@@ -65,7 +65,7 @@ class RouterBlock(RouterBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTI
     router_lo_ipv4_address: IPv4AddressType
     #:  The IPv6 loopback address of the router.
     router_lo_ipv6_address: IPv6AddressType
-    #:  The :term:`ISO` :term:`NET` of the router, used for :term:`ISIS` support.
+    #:  The ISO NET of the router, used for ISIS support.
     router_lo_iso_address: str
     #:  The role of the router, which can be any of the values defined in :class:`RouterRole`.
     router_role: RouterRole
diff --git a/gso/products/product_blocks/site.py b/gso/products/product_blocks/site.py
index eec868479f49f005aa077242a397a52f94e216b1..e4d7231ea23b0ad704a46c9e7db344c6b4f54768 100644
--- a/gso/products/product_blocks/site.py
+++ b/gso/products/product_blocks/site.py
@@ -58,23 +58,23 @@ class SiteBlockProvisioning(SiteBlockInactive, lifecycle=[SubscriptionLifecycle.
 class SiteBlock(SiteBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
     """A site that's currently available for routers and services to be hosted at."""
 
-    #:  The name of the site, that will dictate part of the :term:`FQDN` of routers that are hosted at this site. For
+    #:  The name of the site, that will dictate part of the FQDN of routers that are hosted at this site. For
     #:  example: ``router.X.Y.geant.net``, where X denotes the name of the site.
     site_name: SiteName
     #:  The city at which the site is located.
     site_city: str
     #:  The country in which the site is located.
     site_country: str
-    #:  The code of the corresponding country. This is also used for the :term:`FQDN`, following the example given for
+    #:  The code of the corresponding country. This is also used for the FQDN, following the example given for
     #:  the site name, the country code would end up in the Y position.
     site_country_code: str
-    #:  The latitude of the site, used for :term:`SNMP` purposes.
+    #:  The latitude of the site, used for SNMP purposes.
     site_latitude: LatitudeCoordinate
     #:  Similar to the latitude, the longitude of a site.
     site_longitude: LongitudeCoordinate
     #:  The internal ID used within GÉANT to denote a site.
     site_internal_id: int
-    #:  The :term:`BGP` community ID of a site, used to advertise routes learned at this site.
+    #:  The BGP community ID of a site, used to advertise routes learned at this site.
     site_bgp_community_id: int
     #:  The tier of a site, as described in :class:`SiteTier`.
     site_tier: SiteTier
diff --git a/gso/schedules/__init__.py b/gso/schedules/__init__.py
index 8257a874c6c090c1d284966d2ff4f9064d04e831..d6d687978cc21074c80c9ec4c9d220e5efad3fe0 100644
--- a/gso/schedules/__init__.py
+++ b/gso/schedules/__init__.py
@@ -1 +1 @@
-"""Tasks that are scheduled to run periodically in :term:`GSO`."""
+"""Tasks that are scheduled to run periodically in GSO."""
diff --git a/gso/schedules/scheduling.py b/gso/schedules/scheduling.py
index b0e22a0916cb730c1058f661688111dd49d26737..b688ecbe4459270efc1ae788d1f2824968027977 100644
--- a/gso/schedules/scheduling.py
+++ b/gso/schedules/scheduling.py
@@ -1,4 +1,4 @@
-"""Definition of the decorator that schedules tasks in :term:`GSO` that are to run periodically."""
+"""Definition of the decorator that schedules tasks in GSO that are to run periodically."""
 
 import inspect
 from collections.abc import Callable
diff --git a/gso/schedules/validate_products.py b/gso/schedules/validate_products.py
index 9d8e6f18a2ab6dcbf684f16f0a100b530df02b6c..5722592bfce8bd7e996fafd883b9431c69629b9c 100644
--- a/gso/schedules/validate_products.py
+++ b/gso/schedules/validate_products.py
@@ -1,4 +1,4 @@
-"""Scheduled task that validates all products and inactive subscriptions in :term:`GSO`."""
+"""Scheduled task that validates all products and inactive subscriptions in GSO."""
 
 from orchestrator.services.processes import start_process
 
diff --git a/gso/services/infoblox.py b/gso/services/infoblox.py
index fc33f3b03280d244818eec6a79d8b3067e75bbed..3139eab4fa71180b5a8eca35616b3155192cab4d 100644
--- a/gso/services/infoblox.py
+++ b/gso/services/infoblox.py
@@ -1,4 +1,4 @@
-"""The Infoblox service that allocates :term:`IPAM` resources used in :term:`GSO` products."""
+"""The Infoblox service that allocates IPAM resources used in GSO products."""
 
 import ipaddress
 from logging import getLogger
@@ -23,7 +23,7 @@ class AllocationError(Exception):
 def _setup_connection() -> tuple[connector.Connector, IPAMParams]:
     """Set up a new connection with an Infoblox instance.
 
-    :return: A tuple that has an Infoblox ``Connector`` instance, and :term:`IPAM` parameters.
+    :return: A tuple that has an Infoblox ``Connector`` instance, and IPAM parameters.
     :rtype: tuple[:class:`Connector`, IPAMParams]
     """
     oss = load_oss_params().IPAM
@@ -37,7 +37,7 @@ def _setup_connection() -> tuple[connector.Connector, IPAMParams]:
     return connector.Connector(options), oss
 
 
-def _allocate_network(  # noqa: PLR0917
+def _allocate_network(
     conn: connector.Connector,
     dns_view: str,
     network_view: str,
@@ -55,7 +55,7 @@ def _allocate_network(  # noqa: PLR0917
     :param str network_view: The Infoblox ``network_view`` where the network should be allocated.
     :param int netmask: The netmask of the desired network. Can be up to 32 for v4 networks, and 128 for v6 networks.
     :param list [str] containers: A list of network containers in which the network should be allocated, given in
-                                  :term:`CIDR` notation.
+                                  CIDR notation.
     :param str comment: Optionally, a comment can be added to the network allocation.
     """
     for container in [ipaddress.ip_network(con) for con in containers]:
@@ -92,7 +92,7 @@ def hostname_available(hostname: str) -> bool:
 def allocate_v4_network(service_type: str, comment: str | None = "") -> ipaddress.IPv4Network:
     """Allocate a new IPv4 network in Infoblox.
 
-    Allocate an IPv4 network for a specific service type. The service type should be defined in the :term:`OSS`
+    Allocate an IPv4 network for a specific service type. The service type should be defined in the OSS
     parameters of :term:`GSO`, from which the containers and netmask will be used.
 
     :param service_type: The service type for which the network is allocated.
diff --git a/gso/services/netbox_client.py b/gso/services/netbox_client.py
index a64ec75860572d8b2da8323e5a6551caf3a1a326..489f95ab9f8898bc85db8ff863929435f289bd30 100644
--- a/gso/services/netbox_client.py
+++ b/gso/services/netbox_client.py
@@ -53,7 +53,7 @@ class Site(pydantic.BaseModel):
 
 
 class NetboxClient:
-    """Implement all methods to communicate with the Netbox :term:`API`."""
+    """Implement all methods to communicate with the Netbox API."""
 
     def __init__(self) -> None:
         """Instantiate a new Netbox client."""
@@ -212,16 +212,16 @@ class NetboxClient:
         iface_name: str,
         description: str | None = None,
     ) -> Interfaces:
-        """Assign a given interface to a :term:`LAG`.
+        """Assign a given interface to a LAG.
 
         Returns the interface object after assignment.
         """
         iface = self.get_interface_by_name_and_device(iface_name, device_name)
 
-        # Get :term:`LAG`
+        # Get LAG
         lag = self.get_interface_by_name_and_device(lag_name, device_name)
 
-        # Assign interface to :term:`LAG`, ensuring it does not already belong to a :term:`LAG`.
+        # Assign interface to LAG, ensuring it does not already belong to a LAG.
         if iface.lag:
             msg = f"The interface: {iface_name} on device: {device_name} already belongs to a LAG: {iface.lag.name}."
             raise WorkflowStateError(msg)
@@ -278,7 +278,7 @@ class NetboxClient:
         return interface
 
     def detach_interfaces_from_lag(self, device_name: str, lag_name: str) -> None:
-        """Detach all interfaces from a :term:`LAG`."""
+        """Detach all interfaces from a LAG."""
         device = self.get_device_by_name(device_name)
         lag = self.netbox.dcim.interfaces.get(device_id=device.id, name=lag_name)
         for interface in self.netbox.dcim.interfaces.filter(
@@ -295,7 +295,7 @@ class NetboxClient:
         router_name = Router.from_subscription(router_id).router.router_fqdn
         device = self.get_device_by_name(router_name)
 
-        # Get the existing :term:`LAG` interfaces for the device
+        # Get the existing LAG interfaces for the device
         lag_interface_names = [
             interface["name"] for interface in self.netbox.dcim.interfaces.filter(device=device.name, type="lag")
         ]
@@ -307,7 +307,7 @@ class NetboxClient:
         return [lag for lag in all_feasible_lags if lag not in lag_interface_names]
 
     def get_available_lags(self, router_id: UUID) -> list[str]:
-        """Return all available :term:`LAG` not assigned to a device."""
+        """Return all available LAG not assigned to a device."""
         return self.get_available_lags_in_range(router_id, FEASIBLE_IP_TRUNK_LAG_RANGE)
 
     def get_available_services_lags(self, router_id: UUID) -> list[str]:
diff --git a/gso/services/subscriptions.py b/gso/services/subscriptions.py
index 2c5ffba457f42f2d9434196bb5f877926ec68e63..add2796027d3a279b5f157f3b42187c9fd930811 100644
--- a/gso/services/subscriptions.py
+++ b/gso/services/subscriptions.py
@@ -175,12 +175,12 @@ def get_trunks_that_terminate_on_router(
 
 
 def get_product_id_by_name(product_name: ProductName) -> UUID:
-    """Retrieve the :term:`UUID` of a product by its name.
+    """Retrieve the UUID of a product by its name.
 
     :param product_name: The name of the product.
     :type product_name: ProductName
 
-    :return UUID: The :term:`UUID` of the product.
+    :return UUID: The UUID of the product.
     :rtype: UUID
     """
     return ProductTable.query.filter_by(name=product_name).first().product_id
diff --git a/gso/settings.py b/gso/settings.py
index eaeeada908de6f8525311da1db7031e394f747da..7f71a5605d52ec1e0df7184dce7880fe00f85f5f 100644
--- a/gso/settings.py
+++ b/gso/settings.py
@@ -1,7 +1,7 @@
-""":term:`GSO` settings.
+"""GSO settings.
 
 Ensuring that the required parameters are set correctly. An example file ``oss-params-example.json`` is present in the
-:term:`GSO` package itself.
+GSO package itself.
 """
 
 import ipaddress
@@ -30,12 +30,12 @@ class EnvironmentEnum(strEnum):
 
 
 class GeneralParams(BaseSettings):
-    """General parameters for a :term:`GSO` configuration file."""
+    """General parameters for a GSO configuration file."""
 
     public_hostname: str
-    """The hostname that :term:`GSO` is publicly served at, used for building callback URLs for public use."""
+    """The hostname that GSO is publicly served at, used for building callback URLs for public use."""
     internal_hostname: str
-    """The hostname of :term:`GSO` that is for internal use, such as the provisioning proxy."""
+    """The hostname of GSO that is for internal use, such as the provisioning proxy."""
     isis_high_metric: int
     environment: EnvironmentEnum
 
@@ -90,7 +90,7 @@ class ServiceNetworkParams(BaseSettings):
 
 
 class IPAMParams(BaseSettings):
-    """A set of parameters related to :term:`IPAM`."""
+    """A set of parameters related to IPAM."""
 
     INFOBLOX: InfoBloxParams
     LO: ServiceNetworkParams
@@ -129,7 +129,7 @@ class SNMPParams(BaseSettings):
 
     v2c: MonitoringSNMPV2Params
     #: .. versionadded :: 2.0
-    #:    Support for :term:`SNMP` v3 will get added in a later version of :term:`GSO`. Parameters are optional for now.
+    #:    Support for SNMP v3 will get added in a later version of GSO. Parameters are optional for now.
     v3: MonitoringSNMPV3Params | None = None
 
 
@@ -213,7 +213,7 @@ class MoodiParams(BaseSettings):
 
 
 class OSSParams(BaseSettings):
-    """The set of parameters required for running :term:`GSO`."""
+    """The set of parameters required for running GSO."""
 
     GENERAL: GeneralParams
     IPAM: IPAMParams
diff --git a/gso/utils/exceptions.py b/gso/utils/exceptions.py
index 66ce6d9e7f70679a7f813f5f7f24d8ec0c53fa31..c5f4938b56002f7c955fd1423e20dba3f879dd79 100644
--- a/gso/utils/exceptions.py
+++ b/gso/utils/exceptions.py
@@ -1,4 +1,4 @@
-"""Custom exceptions for :term:`GSO`."""
+"""Custom exceptions for GSO."""
 
 
 class NotFoundError(Exception):
diff --git a/gso/utils/helpers.py b/gso/utils/helpers.py
index 5485bf2000e8dbd14fef41243b3966b26c13d11f..3557b4eb8e278a04a714db253c6b951a056fc100 100644
--- a/gso/utils/helpers.py
+++ b/gso/utils/helpers.py
@@ -1,4 +1,4 @@
-"""Helper methods that are used across :term:`GSO`."""
+"""Helper methods that are used across GSO."""
 
 import random
 import re
@@ -96,7 +96,7 @@ def available_service_lags_choices(router_id: UUID) -> Choice | None:
 def get_router_vendor(router_id: UUID) -> Vendor:
     """Retrieve the vendor of a router.
 
-    :param router_id: The :term:`UUID` of the router.
+    :param router_id: The UUID of the router.
     :type router_id: :class:`uuid.UUID`
 
     :return: The vendor of the router.
@@ -106,10 +106,10 @@ def get_router_vendor(router_id: UUID) -> Vendor:
 
 
 def iso_from_ipv4(ipv4_address: IPv4AddressType) -> str:
-    """Calculate an :term:`ISO` address, based on an IPv4 address.
+    """Calculate an ISO address, based on an IPv4 address.
 
     :param IPv4Address ipv4_address: The address that's to be converted
-    :returns: An :term:`ISO`-formatted address.
+    :returns: An ISO-formatted address.
     """
     padded_octets = [f"{x:>03}" for x in str(ipv4_address).split(".")]
     joined_octets = "".join(padded_octets)
@@ -118,7 +118,7 @@ def iso_from_ipv4(ipv4_address: IPv4AddressType) -> str:
 
 
 def generate_fqdn(hostname: str, site_name: str, country_code: str) -> str:
-    """Generate an :term:`FQDN` from a hostname, site name, and a country code."""
+    """Generate an FQDN from a hostname, site name, and a country code."""
     oss = settings.load_oss_params()
     return f"{hostname}.{site_name.lower()}.{country_code.lower()}{oss.IPAM.LO.domain_name}"
 
@@ -252,11 +252,11 @@ def partner_choice() -> Choice:
 
 
 def validate_edge_port_number_of_members_based_on_lacp(*, number_of_members: int, enable_lacp: bool) -> None:
-    """Validate the number of edge port members based on the :term:`LACP` setting.
+    """Validate the number of edge port members based on the LACP setting.
 
     :param number_of_members: The number of members to validate.
-    :param enable_lacp: Whether :term:`LACP` is enabled or not.
-    :raises ValueError: If the number of members is greater than 1 and :term:`LACP` is disabled.
+    :param enable_lacp: Whether LACP is enabled or not.
+    :raises ValueError: If the number of members is greater than 1 and LACP is disabled.
     """
     if number_of_members > 1 and not enable_lacp:
         err_msg = "Number of members must be 1 if LACP is disabled."
diff --git a/gso/utils/workflow_steps.py b/gso/utils/workflow_steps.py
index 72e6104a67f611bd921da0e0a159a8cafdc959a2..aee52b5119d98497c3f971393f398a5a64645067 100644
--- a/gso/utils/workflow_steps.py
+++ b/gso/utils/workflow_steps.py
@@ -308,7 +308,7 @@ def update_sdp_single_pe_real(subscription: dict[str, Any], tt_number: str, proc
 
 @step("[FOR REAL] Set ISIS metric to very high value")
 def set_isis_to_max(subscription: Iptrunk, process_id: UUIDstr, tt_number: str) -> LSOState:
-    """Workflow step for setting the :term:`ISIS` metric to an arbitrarily high value to drain a link."""
+    """Workflow step for setting the ISIS metric to an arbitrarily high value to drain a link."""
     old_isis_metric = subscription.iptrunk.iptrunk_isis_metric
     params = load_oss_params()
     subscription.iptrunk.iptrunk_isis_metric = params.GENERAL.isis_high_metric
@@ -398,7 +398,7 @@ _is_moodi_enabled = conditional(lambda _: load_oss_params().MOODI.moodi_enabled)
 
 
 def start_moodi() -> StepList:
-    """Start monitoring on demand using :term:`Moodi` Telemetry stack."""
+    """Start monitoring on demand using Moodi Telemetry stack."""
     host = load_oss_params().MOODI.host
 
     @step("Start Moodi")
@@ -413,7 +413,7 @@ def start_moodi() -> StepList:
 
 
 def stop_moodi() -> StepList:
-    """Stop :term:`Moodi` Telemetry monitoring on demand."""
+    """Stop Moodi Telemetry monitoring on demand."""
     host = load_oss_params().MOODI.host
 
     @step("Stop Moodi")
diff --git a/gso/worker.py b/gso/worker.py
index c2e825cc8d8b4224acc67ada88c6b3b2721b1dce..f7bfa08326cdac2df484520ebb009258d8219809 100644
--- a/gso/worker.py
+++ b/gso/worker.py
@@ -1,4 +1,4 @@
-"""Module that sets up :term:`GSO` as a Celery worker. This will allow for the scheduling of regular task workflows."""
+"""Module that sets up GSO as a Celery worker. This will allow for the scheduling of regular task workflows."""
 
 from typing import Any
 from uuid import UUID
@@ -43,7 +43,7 @@ def process_broadcast_fn(process_id: UUID) -> None:
 
 
 class OrchestratorWorker(Celery):
-    """A :term:`GSO` instance that functions as a Celery worker."""
+    """A GSO instance that functions as a Celery worker."""
 
     websocket_manager: WebSocketManager
     process_broadcast_fn: BroadcastFunc
diff --git a/gso/workflows/__init__.py b/gso/workflows/__init__.py
index 2c75fb1149f48b22dd7ab37f4ff19d70feb3b5fe..cc6725d47cdf05b2a0959920d7f08455987232d3 100644
--- a/gso/workflows/__init__.py
+++ b/gso/workflows/__init__.py
@@ -1,4 +1,4 @@
-"""Initialisation class that imports all workflows into :term:`GSO`."""
+"""Initialisation class that imports all workflows into GSO."""
 
 from orchestrator.services.subscriptions import WF_USABLE_MAP
 from orchestrator.types import SubscriptionLifecycle
diff --git a/gso/workflows/iptrunk/create_iptrunk.py b/gso/workflows/iptrunk/create_iptrunk.py
index 2d7be47def406f43d113fa0673abc18b50894fb9..ef111977ae2a43366a25b3c3fbf66a124fbe75dd 100644
--- a/gso/workflows/iptrunk/create_iptrunk.py
+++ b/gso/workflows/iptrunk/create_iptrunk.py
@@ -228,7 +228,7 @@ def create_subscription(product: UUIDstr, partner: str) -> State:
 
 @step("Get information from IPAM")
 def get_info_from_ipam(subscription: IptrunkInactive) -> State:
-    """Allocate IP resources in :term:`IPAM`."""
+    """Allocate IP resources in IPAM."""
     new_ipv4_network = infoblox.allocate_v4_network(
         "TRUNK",
         subscription.iptrunk.iptrunk_description,
diff --git a/gso/workflows/iptrunk/deploy_twamp.py b/gso/workflows/iptrunk/deploy_twamp.py
index 468564de8c65eb3004116bcef68de3226d7ea097..66b1f1c1e66ceb4dc525d6312195df941553d981 100644
--- a/gso/workflows/iptrunk/deploy_twamp.py
+++ b/gso/workflows/iptrunk/deploy_twamp.py
@@ -1,4 +1,4 @@
-"""Workflow for adding :term:`TWAMP` to an existing IP trunk.
+"""Workflow for adding TWAMP to an existing IP trunk.
 
 Takes a trunk that is either `PROVISIONING` or `ACTIVE` and deploy configuration for TWAMP. The trunk will not change
 state after running this workflow.
@@ -38,7 +38,7 @@ def _initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
 
 @step("[DRY RUN] Deploy TWAMP on both sides")
 def deploy_twamp_dry(subscription: Iptrunk, process_id: UUIDstr, tt_number: str) -> LSOState:
-    """Perform a dry run of deploying the :term:`TWAMP` session."""
+    """Perform a dry run of deploying the TWAMP session."""
     extra_vars = {
         "subscription": json.loads(json_dumps(subscription)),
         "process_id": process_id,
@@ -63,7 +63,7 @@ def deploy_twamp_dry(subscription: Iptrunk, process_id: UUIDstr, tt_number: str)
 
 @step("[FOR REAL] Deploy TWAMP on both sides")
 def deploy_twamp_real(subscription: Iptrunk, process_id: UUIDstr, tt_number: str) -> LSOState:
-    """Deploy the :term:`TWAMP` session."""
+    """Deploy the TWAMP session."""
     extra_vars = {
         "subscription": json.loads(json_dumps(subscription)),
         "process_id": process_id,
diff --git a/gso/workflows/iptrunk/migrate_iptrunk.py b/gso/workflows/iptrunk/migrate_iptrunk.py
index e288000ac325710caa360b2099a3fa7b8dcd8557..b101c9c27519051ddd438a540521efed628cd204 100644
--- a/gso/workflows/iptrunk/migrate_iptrunk.py
+++ b/gso/workflows/iptrunk/migrate_iptrunk.py
@@ -167,7 +167,7 @@ def netbox_reserve_interfaces(
     """Reserve new interfaces in Netbox, only when the new side's router is a Nokia router."""
     new_side = Router.from_subscription(new_node).router
     nbclient = NetboxClient()
-    # Create :term:`LAG` interfaces
+    # Create LAG interfaces
     lag_interface: Interfaces = nbclient.create_interface(
         iface_name=new_lag_interface,
         interface_type="lag",
diff --git a/gso/workflows/iptrunk/modify_isis_metric.py b/gso/workflows/iptrunk/modify_isis_metric.py
index 26c1b35b72cfdf4057276ba1e8618842015c7782..61d2f0908bc80fb12981c276cf2d3d45c7b12944 100644
--- a/gso/workflows/iptrunk/modify_isis_metric.py
+++ b/gso/workflows/iptrunk/modify_isis_metric.py
@@ -1,4 +1,4 @@
-"""A modification workflow for setting a new :term:`ISIS` metric for an IP trunk.
+"""A modification workflow for setting a new ISIS metric for an IP trunk.
 
 The strategy is to re-apply the necessary template to the configuration construct: using a "replace" strategy only the
 necessary modifications will be applied.
@@ -21,7 +21,7 @@ from gso.workflows.shared import modify_summary_form
 
 
 def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
-    """Ask the operator for the new :term:`ISIS` metric."""
+    """Ask the operator for the new ISIS metric."""
     subscription = Iptrunk.from_subscription(subscription_id)
 
     class ModifyIptrunkForm(FormPage):
@@ -38,7 +38,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
 
 @step("Update subscription")
 def modify_iptrunk_subscription(subscription: Iptrunk, isis_metric: int) -> State:
-    """Store the new :term:`ISIS` metric in the database by updating the subscription."""
+    """Store the new ISIS metric in the database by updating the subscription."""
     subscription.iptrunk.iptrunk_isis_metric = isis_metric
 
     return {"subscription": subscription}
@@ -46,7 +46,7 @@ def modify_iptrunk_subscription(subscription: Iptrunk, isis_metric: int) -> Stat
 
 @step("[DRY RUN] Provision IP trunk ISIS interface")
 def provision_ip_trunk_isis_iface_dry(subscription: Iptrunk, process_id: UUIDstr, tt_number: str) -> LSOState:
-    """Perform a dry run of deploying the new :term:`ISIS` metric on both sides of the trunk."""
+    """Perform a dry run of deploying the new ISIS metric on both sides of the trunk."""
     extra_vars = {
         "wfo_trunk_json": json.loads(json_dumps(subscription)),
         "dry_run": True,
@@ -72,7 +72,7 @@ def provision_ip_trunk_isis_iface_dry(subscription: Iptrunk, process_id: UUIDstr
 
 @step("[FOR REAL] Provision IP trunk ISIS interface")
 def provision_ip_trunk_isis_iface_real(subscription: Iptrunk, process_id: UUIDstr, tt_number: str) -> LSOState:
-    """Deploy the new :term:`ISIS` metric on both sides of the trunk."""
+    """Deploy the new ISIS metric on both sides of the trunk."""
     extra_vars = {
         "wfo_trunk_json": json.loads(json_dumps(subscription)),
         "dry_run": False,
@@ -102,11 +102,11 @@ def provision_ip_trunk_isis_iface_real(subscription: Iptrunk, process_id: UUIDst
     target=Target.MODIFY,
 )
 def modify_isis_metric() -> StepList:
-    """Modify the :term:`ISIS` metric of an existing IP trunk.
+    """Modify the ISIS metric of an existing IP trunk.
 
     * Modify the subscription model in the database
-    * Perform a dry run of setting the new :term:`ISIS` metric
-    * Deploy the new :term:`ISIS` metric on both sides of the trunk
+    * Perform a dry run of setting the new ISIS metric
+    * Deploy the new ISIS metric on both sides of the trunk
     """
     return (
         begin
diff --git a/gso/workflows/iptrunk/modify_trunk_interface.py b/gso/workflows/iptrunk/modify_trunk_interface.py
index d2056db74cb75ef1a2eaa6fe63b9677f645c9294..e76d9d2e3aebf811648e6e0384d1285ee8aba788 100644
--- a/gso/workflows/iptrunk/modify_trunk_interface.py
+++ b/gso/workflows/iptrunk/modify_trunk_interface.py
@@ -1,4 +1,4 @@
-"""A modification workflow that updates the :term:`LAG` interfaces that are part of an existing IP trunk.
+"""A modification workflow that updates the LAG interfaces that are part of an existing IP trunk.
 
 Modifies LAG interfaces and members. This is used to  increase capacity or to change SID/interface descriptions.
 
@@ -211,7 +211,7 @@ def check_ip_trunk_connectivity(subscription: Iptrunk) -> LSOState:
 
 @step("Check LLDP on the trunk endpoints")
 def check_ip_trunk_lldp(subscription: Iptrunk) -> LSOState:
-    """Check :term:`LLDP` on trunk endpoints."""
+    """Check LLDP on trunk endpoints."""
     extra_vars = {"wfo_ip_trunk_json": json.loads(json_dumps(subscription)), "check": "lldp"}
 
     return {
diff --git a/gso/workflows/iptrunk/terminate_iptrunk.py b/gso/workflows/iptrunk/terminate_iptrunk.py
index 1e448ad00c2575d46ed842cef275d66b1c44c325..d008ad88bfcfdbf3484f5056d522deddf565554d 100644
--- a/gso/workflows/iptrunk/terminate_iptrunk.py
+++ b/gso/workflows/iptrunk/terminate_iptrunk.py
@@ -40,7 +40,7 @@ from gso.utils.workflow_steps import set_isis_to_max
 
 
 def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
-    """Ask the operator to confirm whether router configuration and :term:`IPAM` resources should be deleted."""
+    """Ask the operator to confirm whether router configuration and IPAM resources should be deleted."""
     iptrunk = Iptrunk.from_subscription(subscription_id)
 
     class TerminateForm(FormPage):
@@ -141,7 +141,7 @@ def netbox_clean_up_side_b(subscription: Iptrunk) -> State:
 
 @step("Deprovision IPv4 networks")
 def deprovision_ip_trunk_ipv4(subscription: Iptrunk) -> dict:
-    """Clear up IPv4 resources in :term:`IPAM`."""
+    """Clear up IPv4 resources in IPAM."""
     infoblox.delete_network(ipaddress.IPv4Network(subscription.iptrunk.iptrunk_ipv4_network))
 
     return {"subscription": subscription}
@@ -149,7 +149,7 @@ def deprovision_ip_trunk_ipv4(subscription: Iptrunk) -> dict:
 
 @step("Deprovision IPv6 networks")
 def deprovision_ip_trunk_ipv6(subscription: Iptrunk) -> dict:
-    """Clear up IPv6 resources in :term:`IPAM`."""
+    """Clear up IPv6 resources in IPAM."""
     infoblox.delete_network(ipaddress.IPv6Network(subscription.iptrunk.iptrunk_ipv6_network))
 
     return {"subscription": subscription}
@@ -164,10 +164,10 @@ def terminate_iptrunk() -> StepList:
     """Terminate an IP trunk.
 
     * Let the operator decide whether to remove configuration from the routers, if so:
-        * Set the :term:`ISIS` metric of the IP trunk to an arbitrarily high value
+        * Set the ISIS metric of the IP trunk to an arbitrarily high value
         * Disable and remove configuration from the routers, first as a dry run
     * Mark the IP trunk interfaces as free in Netbox
-    * Clear :term:`IPAM` resources
+    * Clear IPAM resources
     * Terminate the subscription in the service database
     """
     run_config_steps = conditional(lambda state: state["remove_configuration"])
diff --git a/gso/workflows/router/create_router.py b/gso/workflows/router/create_router.py
index 22c866659d6a365bd56edefc32eda8e84f47f864..f0595fe872b071faf96987f256c31306fef26f86 100644
--- a/gso/workflows/router/create_router.py
+++ b/gso/workflows/router/create_router.py
@@ -153,7 +153,7 @@ def initialize_subscription(
 
 @step("Allocate loopback interfaces in IPAM")
 def ipam_allocate_loopback(subscription: RouterInactive) -> State:
-    """Allocate :term:`IPAM` resources for the loopback interface."""
+    """Allocate IPAM resources for the loopback interface."""
     fqdn = subscription.router.router_fqdn
     if not fqdn:
         msg = f"Router fqdn for subscription id {subscription.subscription_id} is missing!"
diff --git a/gso/workflows/router/terminate_router.py b/gso/workflows/router/terminate_router.py
index 604265f7fce33baff81e75c539af7d39486fa4c4..ca3b30bac0b3a2bf82c04215254aa32df6337967 100644
--- a/gso/workflows/router/terminate_router.py
+++ b/gso/workflows/router/terminate_router.py
@@ -51,7 +51,7 @@ logger = logging.getLogger(__name__)
 
 
 def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
-    """Let the operator decide whether to delete configuration on the router, and clear up :term:`IPAM` resources."""
+    """Let the operator decide whether to delete configuration on the router, and clear up IPAM resources."""
     router = Router.from_subscription(subscription_id)
 
     class TerminateForm(FormPage):
@@ -77,7 +77,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
 
 @step("Deprovision loopback IPs from IPAM")
 def deprovision_loopback_ips(subscription: Router) -> dict:
-    """Clear up the loopback addresses from :term:`IPAM`."""
+    """Clear up the loopback addresses from IPAM."""
     infoblox.delete_host_by_ip(ipaddress.IPv4Address(subscription.router.router_lo_ipv4_address))
 
     return {"subscription": subscription}
@@ -276,8 +276,8 @@ def kentik_apply_archive_license(subscription: Router) -> State:
 def terminate_router() -> StepList:
     """Terminate a router subscription.
 
-    * Let the operator decide whether to delete :term:`IPAM` resources, and remove configuration from the router
-    * Clear up :term:`IPAM` resources, if selected by the operator
+    * Let the operator decide whether to delete IPAM resources, and remove configuration from the router
+    * Clear up IPAM resources, if selected by the operator
     * Disable and delete configuration on the router, if selected by the operator
     * Mark the subscription as terminated in the service database
     """