diff --git a/ppr-api/report-templates/template-parts/registration/securitiesActNotice.html b/ppr-api/report-templates/template-parts/registration/securitiesActNotice.html
index c9b51d379..d4c569ff3 100644
--- a/ppr-api/report-templates/template-parts/registration/securitiesActNotice.html
+++ b/ppr-api/report-templates/template-parts/registration/securitiesActNotice.html
@@ -1,132 +1,102 @@
-<div>
-    {% if securitiesActNotices is defined and change is not defined %}
-        <div class="separator mt-5"></div>
-    {% endif %}    
-    <div class="section-title mt-3">Securities Act Notices</div>
+{% if securitiesActNotices is defined and change is not defined %}
+    <div class="separator mt-5"></div>
+{% endif %}
+<div class="no-page-break">
+    <div class="section-title mt-3">Securities Act Notice</div>
     {% if securitiesActNotices is defined and change is not defined %}
         {% for notice in securitiesActNotices %}
+            <div class="section-sub-title-blue mt-3">{{ notice.registrationDescription|title }}</div>        
             <table class="no-page-break section-data court-order-table mt-3" role="presentation">
-                <tr>
-                    <td class="section-sub-title">Type of Notice:</td>
-                    <td>{{ notice.securitiesActNoticeType|title }}</td>
-                </tr>
                 <tr>
                     <td class="section-sub-title">Effective Date:</td>
                     <td>
                         {% if notice.effectiveDateTime is defined and notice.effectiveDateTime != '' %}
                             {{ notice.effectiveDateTime }}
-                        {% else %}
-                            N/A
-                        {% endif %}
-                    </td>
-                </tr>
-                <tr>
-                    <td class="section-sub-title">Detail Description:</td>
-                    <td>
-                        {% if notice.description is defined and notice.description != '' %}
-                            {{ notice.description }}
-                        {% else %}
-                            N/A
                         {% endif %}
                     </td>
                 </tr>
             </table>
             {% if notice.securitiesActOrders %}
-                <div class="section-title mt-1">Notice Court/Commission Order(s)</div>
                 {% for order in notice.securitiesActOrders %}
-                    <table class="no-page-break section-data court-order-table mt-1" role="presentation">
-                        <tr>
-                            <td class="section-sub-title">Type of Order:</td>
-                            <td>{% if order.courtOrder %}Court{% else %}Commission{% endif %} Order</td>
-                        </tr>
-                        <tr>
-                            <td class="section-sub-title">Name of Court:</td>
-                            <td>{% if order.courtName %}{{ order.courtName }}{% else %}N/A{% endif %}</td>
-                        </tr>
+                    <div class="section-sub-title-blue mt-6 mb-2">{% if order.courtOrder %}Court Order {% else %}Security Commission Order{% endif %}</div>
+                    <table class="no-page-break section-data court-order-table" role="presentation">
+                        {% if order.courtName is defined %}
+                            <tr>
+                                <td class="section-sub-title">Name of Court:</td>
+                                <td>{{ order.courtName }}</td>
+                            </tr>
+                        {% endif %}
+                        {% if order.courtRegistry is defined %}
+                            <tr>
+                                <td class="section-sub-title">Registry</td>
+                                <td>{{ order.courtRegistry }}</td>
+                            </tr>
+                        {% endif %}
                         <tr>
-                            <td class="section-sub-title">Registry</td>
-                            <td>{% if order.courtRegistry %}{{ order.courtRegistry }}{% else %}N/A{% endif %}</td>
+                            <td class="section-sub-title">{% if order.courtOrder %}Court{% else %}Commission{% endif %} File Number:</td>
+                            <td>{% if order.fileNumber %}{{ order.fileNumber }}{% endif %}</td>
                         </tr>
                         <tr>
                             <td class="section-sub-title">Date of Order:</td>
-                            <td>{% if order.orderDate %}{{ order.orderDate }}{% else %}N/A{% endif %}</td>
-                        </tr>
-                        <tr>
-                            <td class="section-sub-title">File Number:</td>
-                            <td>{% if order.fileNumber %}{{ order.fileNumber }}{% else %}N/A{% endif %}</td>
+                            <td>{% if order.orderDate %}{{ order.orderDate }}{% endif %}</td>
                         </tr>
                         <tr>
                             <td class="section-sub-title">Effect of Order:</td>
-                            <td>{% if order.effectOfOrder %}{{ order.effectOfOrder }}{% else %}N/A{% endif %}</td>
+                            <td>{% if order.effectOfOrder %}{{ order.effectOfOrder }}{% endif %}</td>
                         </tr>
                     </table>
                 {% endfor %}
             {% endif %}
             {% if not loop.last %}
-                <div class="separator-table-row mt-3 mb-3"></div>            
+                <div class="separator-table-row mt-5 mb-5"></div>            
             {% endif %}
         {% endfor %}
     {% elif change is defined and change.securitiesActNotices is defined  %}
         {% for notice in change.securitiesActNotices %}
+            <div class="section-sub-title-blue mt-3">{{ notice.registrationDescription|title }}</div>        
             <table class="no-page-break section-data court-order-table mt-3" role="presentation">
                 <tr>
-                    <td class="section-sub-title">Type of Notice:</td>
-                    <td>{{ notice.securitiesActNoticeType|title }}</td>
-                </tr>
-                <tr>
-                    <td class="section-sub-title">Effective Date:</td>
+                    <td class="section-sub-title">Date of Effectiveness:</td>
                     <td>
                         {% if notice.effectiveDateTime is defined and notice.effectiveDateTime != '' %}
                             {{ notice.effectiveDateTime }}
-                        {% else %}
-                            N/A
-                        {% endif %}
-                    </td>
-                </tr>
-                <tr>
-                    <td class="section-sub-title">Detail Description:</td>
-                    <td>
-                        {% if notice.description is defined and notice.description != '' %}
-                            {{ notice.description }}
-                        {% else %}
-                            N/A
                         {% endif %}
                     </td>
                 </tr>
             </table>
             {% if notice.securitiesActOrders %}
-                <div class="section-title mt-1">Notice Court/Commission Order(s)</div>
                 {% for order in notice.securitiesActOrders %}
-                    <table class="no-page-break section-data court-order-table mt-1" role="presentation">
-                        <tr>
-                            <td class="section-sub-title">Type of Order:</td>
-                            <td>{% if order.courtOrder %}Court{% else %}Commission{% endif %} Order</td>
-                        </tr>
-                        <tr>
-                            <td class="section-sub-title">Name of Court:</td>
-                            <td>{% if order.courtName %}{{ order.courtName }}{% else %}N/A{% endif %}</td>
-                        </tr>
+                    <div class="section-sub-title-blue mt-6 mb-2">{% if order.courtOrder %}Court Order {% else %}Security Commission Order{% endif %}</div>
+                    <table class="no-page-break section-data court-order-table" role="presentation">
+                        {% if order.courtName is defined %}
+                            <tr>
+                                <td class="section-sub-title">Name of Court:</td>
+                                <td>{{ order.courtName }}</td>
+                            </tr>
+                        {% endif %}
+                        {% if order.courtRegistry is defined %}
+                            <tr>
+                                <td class="section-sub-title">Registry</td>
+                                <td>{{ order.courtRegistry }}</td>
+                            </tr>
+                        {% endif %}
                         <tr>
-                            <td class="section-sub-title">Registry</td>
-                            <td>{% if order.courtRegistry %}{{ order.courtRegistry }}{% else %}N/A{% endif %}</td>
+                            <td class="section-sub-title">{% if order.courtOrder %}Court{% else %}Commission{% endif %} File Number:</td>
+                            <td>{% if order.fileNumber %}{{ order.fileNumber }}{% endif %}</td>
                         </tr>
                         <tr>
                             <td class="section-sub-title">Date of Order:</td>
-                            <td>{% if order.orderDate %}{{ order.orderDate }}{% else %}N/A{% endif %}</td>
-                        </tr>
-                        <tr>
-                            <td class="section-sub-title">File Number:</td>
-                            <td>{% if order.fileNumber %}{{ order.fileNumber }}{% else %}N/A{% endif %}</td>
+                            <td>{% if order.orderDate %}{{ order.orderDate }}{% endif %}</td>
                         </tr>
                         <tr>
                             <td class="section-sub-title">Effect of Order:</td>
-                            <td>{% if order.effectOfOrder %}{{ order.effectOfOrder }}{% else %}N/A{% endif %}</td>
+                            <td>{% if order.effectOfOrder %}{{ order.effectOfOrder }}{% endif %}</td>
                         </tr>
                     </table>
                 {% endfor %}
             {% endif %}
             {% if not loop.last %}
-                <div class="separator-table-row mt-3 mb-3"></div>            
+                <div class="separator-table-row mt-5 mb-5"></div>            
             {% endif %}
         {% endfor %}
    {% endif %}
diff --git a/ppr-api/report-templates/template-parts/search-result/financingStatement.html b/ppr-api/report-templates/template-parts/search-result/financingStatement.html
index 7395e9400..f958c127a 100644
--- a/ppr-api/report-templates/template-parts/search-result/financingStatement.html
+++ b/ppr-api/report-templates/template-parts/search-result/financingStatement.html
@@ -106,5 +106,8 @@
   {% if detail.financingStatement.courtOrderInformation is defined %}
     [[search-result/courtOrderInformation.html]]
   {% endif %}
+  {% if detail.financingStatement.type == 'SE' %}
+    [[search-result/securitiesActNotice.html]]
+  {% endif %}
   [[search-result/registeringParty.html]]
 </div>
diff --git a/ppr-api/report-templates/template-parts/search-result/securitiesActNotice.html b/ppr-api/report-templates/template-parts/search-result/securitiesActNotice.html
new file mode 100644
index 000000000..98049ace4
--- /dev/null
+++ b/ppr-api/report-templates/template-parts/search-result/securitiesActNotice.html
@@ -0,0 +1,103 @@
+{% if detail.financingStatement.securitiesActNotices is defined and change is not defined %}
+    <div class="separator mt-5"></div>
+{% endif %}
+<div class="no-page-break">
+    <div class="section-title mt-3">Securities Act Notice</div>
+    {% if  detail.financingStatement.securitiesActNotices is defined and change is not defined %}
+        {% for notice in detail.financingStatement.securitiesActNotices %}
+            <div class="section-sub-title-blue mt-3">{{ notice.registrationDescription|title }}</div>        
+            <table class="no-page-break section-data court-order-table mt-3" role="presentation">
+                <tr>
+                    <td class="section-sub-title">Effective Date:</td>
+                    <td>
+                        {% if notice.effectiveDateTime is defined and notice.effectiveDateTime != '' %}
+                            {{ notice.effectiveDateTime }}
+                        {% endif %}
+                </td>
+                </tr>
+            </table>
+            {% if notice.securitiesActOrders %}
+                {% for order in notice.securitiesActOrders %}
+                    <div class="section-sub-title-blue mt-6 mb-2">{% if order.courtOrder %}Court Order {% else %}Security Commission Order{% endif %}</div>
+                    <table class="no-page-break section-data court-order-table" role="presentation">
+                        {% if order.courtName is defined %}
+                            <tr>
+                                <td class="section-sub-title">Name of Court:</td>
+                                <td>{{ order.courtName }}</td>
+                            </tr>
+                        {% endif %}
+                        {% if order.courtRegistry is defined %}
+                            <tr>
+                                <td class="section-sub-title">Registry</td>
+                                <td>{{ order.courtRegistry }}</td>
+                            </tr>
+                        {% endif %}
+                        <tr>
+                            <td class="section-sub-title">{% if order.courtOrder %}Court{% else %}Commission{% endif %} File Number:</td>
+                            <td>{% if order.fileNumber %}{{ order.fileNumber }}{% endif %}</td>
+                        </tr>
+                        <tr>
+                            <td class="section-sub-title">Date of Order:</td>
+                            <td>{% if order.orderDate %}{{ order.orderDate }}{% endif %}</td>
+                        </tr>
+                        <tr>
+                            <td class="section-sub-title">Effect of Order:</td>
+                            <td>{% if order.effectOfOrder %}{{ order.effectOfOrder }}{% endif %}</td>
+                        </tr>
+                    </table>
+                {% endfor %}
+            {% endif %}
+            {% if not loop.last %}
+                <div class="separator-table-row mt-5 mb-5"></div>            
+            {% endif %}
+        {% endfor %}
+    {% elif change is defined and change.securitiesActNotices is defined  %}
+        {% for notice in change.securitiesActNotices %}
+            <div class="section-sub-title-blue mt-3">{{ notice.registrationDescription|title }}</div>        
+            <table class="no-page-break section-data court-order-table mt-3" role="presentation">
+                <tr>
+                    <td class="section-sub-title">Date of Effectiveness:</td>
+                    <td>
+                        {% if notice.effectiveDateTime is defined and notice.effectiveDateTime != '' %}
+                            {{ notice.effectiveDateTime }}
+                        {% endif %}
+                    </td>
+                </tr>
+            </table>
+            {% if notice.securitiesActOrders %}
+                {% for order in notice.securitiesActOrders %}
+                    <div class="section-sub-title-blue mt-6 mb-2">{% if order.courtOrder %}Court Order {% else %}Security Commission Order{% endif %}</div>
+                    <table class="no-page-break section-data court-order-table" role="presentation">
+                        {% if order.courtName is defined %}
+                            <tr>
+                                <td class="section-sub-title">Name of Court:</td>
+                                <td>{{ order.courtName }}</td>
+                            </tr>
+                        {% endif %}
+                        {% if order.courtRegistry is defined %}
+                            <tr>
+                                <td class="section-sub-title">Registry</td>
+                                <td>{{ order.courtRegistry }}</td>
+                            </tr>
+                        {% endif %}
+                        <tr>
+                            <td class="section-sub-title">{% if order.courtOrder %}Court{% else %}Commission{% endif %} File Number:</td>
+                            <td>{% if order.fileNumber %}{{ order.fileNumber }}{% endif %}</td>
+                        </tr>
+                        <tr>
+                            <td class="section-sub-title">Date of Order:</td>
+                            <td>{% if order.orderDate %}{{ order.orderDate }}{% endif %}</td>
+                        </tr>
+                        <tr>
+                            <td class="section-sub-title">Effect of Order:</td>
+                            <td>{% if order.effectOfOrder %}{{ order.effectOfOrder }}{% endif %}</td>
+                        </tr>
+                    </table>
+                {% endfor %}
+            {% endif %}
+            {% if not loop.last %}
+                <div class="separator-table-row mt-5 mb-5"></div>            
+            {% endif %}
+        {% endfor %}
+   {% endif %}
+</div>
diff --git a/ppr-api/report-templates/template-parts/v2/style.html b/ppr-api/report-templates/template-parts/v2/style.html
index 778641601..5925b9e33 100644
--- a/ppr-api/report-templates/template-parts/v2/style.html
+++ b/ppr-api/report-templates/template-parts/v2/style.html
@@ -412,6 +412,16 @@
 		font-weight: bold;
 	}
 
+	.section-sub-title-blue {
+		font-family: 'BC Sans', sans-serif !important;
+		color: #234075;
+		font-size: 11pt;
+		font-weight: bold;
+		text-align: left;
+		line-height: 15px;
+		font-weight: bold;
+	}
+
 	.section-statement {
 		font-family: 'BC Sans', sans-serif !important;
 		color: #234075;
diff --git a/ppr-api/src/ppr_api/models/financing_statement.py b/ppr-api/src/ppr_api/models/financing_statement.py
index 3059f7a4d..1bf0dd74c 100644
--- a/ppr-api/src/ppr_api/models/financing_statement.py
+++ b/ppr-api/src/ppr_api/models/financing_statement.py
@@ -481,7 +481,7 @@ def find_by_registration_number(cls, registration_num: str,
 
         if not statement:
             raise BusinessException(
-                error=model_utils.ERR_FINANCING_NOT_FOUND.format(code=ResourceErrorCodes.NOT_FOUND_ERR,
+                error=model_utils.ERR_FINANCING_NOT_FOUND.format(code=ResourceErrorCodes.NOT_FOUND_ERR.value,
                                                                  registration_num=registration_num),
                 status_code=HTTPStatus.NOT_FOUND
             )
@@ -492,7 +492,7 @@ def find_by_registration_number(cls, registration_num: str,
                                                                           account_id)
             if not extra_reg:
                 raise BusinessException(
-                    error=model_utils.ERR_REGISTRATION_ACCOUNT.format(code=ResourceErrorCodes.UNAUTHORIZED_ERR,
+                    error=model_utils.ERR_REGISTRATION_ACCOUNT.format(code=ResourceErrorCodes.UNAUTHORIZED_ERR.value,
                                                                       account_id=account_id,
                                                                       registration_num=registration_num),
                     status_code=HTTPStatus.UNAUTHORIZED
@@ -502,7 +502,7 @@ def find_by_registration_number(cls, registration_num: str,
             return statement
         if model_utils.is_historical(statement, create):  # and (not staff or create):
             raise BusinessException(
-                error=model_utils.ERR_FINANCING_HISTORICAL.format(code=ResourceErrorCodes.HISTORICAL_ERR,
+                error=model_utils.ERR_FINANCING_HISTORICAL.format(code=ResourceErrorCodes.HISTORICAL_ERR.value,
                                                                   registration_num=registration_num),
                 status_code=HTTPStatus.BAD_REQUEST
             )
diff --git a/ppr-api/src/ppr_api/models/registration_utils.py b/ppr-api/src/ppr_api/models/registration_utils.py
index 0186b5898..2c991e433 100644
--- a/ppr-api/src/ppr_api/models/registration_utils.py
+++ b/ppr-api/src/ppr_api/models/registration_utils.py
@@ -427,8 +427,6 @@ def create_securities_act_notices(registration, json_data: dict):
             json_data.get('securitiesActNotices'):
         notices = []
         for notice_json in json_data.get('securitiesActNotices'):
-            notices.append(SecuritiesActNotice.create_from_json(notice_json,
-                                                                registration.registration_ts,
-                                                                registration.id))
+            notices.append(SecuritiesActNotice.create_from_json(notice_json, registration.id))
         registration.securities_act_notices = notices
     return registration
diff --git a/ppr-api/src/ppr_api/models/securities_act_notice.py b/ppr-api/src/ppr_api/models/securities_act_notice.py
index fb2438ddb..cf0dc545b 100644
--- a/ppr-api/src/ppr_api/models/securities_act_notice.py
+++ b/ppr-api/src/ppr_api/models/securities_act_notice.py
@@ -51,9 +51,10 @@ class SecuritiesActNotice(db.Model):
     def json(self) -> dict:
         """Return the securities act as a json object."""
         securities_act = {
-            'securitiesActNoticeType': self.securities_act_type,
-            'effectiveDateTime': format_ts(self.effective_ts)
+            'securitiesActNoticeType': self.securities_act_type
         }
+        if self.effective_ts:
+            securities_act['effectiveDateTime'] = format_ts(self.effective_ts)
         if self.detail_description:
             securities_act['description'] = self.detail_description
         if self.sec_act_type:
@@ -86,16 +87,14 @@ def find_by_registration_id(cls, reg_id: int):
         return securities_acts
 
     @staticmethod
-    def create_from_json(json_data, registration_ts, registration_id: int):
+    def create_from_json(json_data, registration_id: int):
         """Create a securities act object from a registration json schema object: map json to db."""
         securities_act = SecuritiesActNotice(securities_act_type=json_data.get('securitiesActNoticeType'),
                                              registration_id=registration_id)
         if json_data.get('effectiveDateTime'):
             securities_act.effective_ts = ts_from_iso_format(json_data.get('effectiveDateTime'))
-        else:
-            securities_act.effective_ts = registration_ts
-        if json_data.get('description'):
-            securities_act.detail_description = str(json_data.get('description')).strip()
+        # if json_data.get('description'):
+        #    securities_act.detail_description = str(json_data.get('description')).strip()
         if json_data.get('securitiesActOrders'):
             orders = []
             for order_json in json_data.get('securitiesActOrders'):
diff --git a/ppr-api/src/ppr_api/reports/v2/report.py b/ppr-api/src/ppr_api/reports/v2/report.py
index 55485aa43..11c1c7beb 100755
--- a/ppr-api/src/ppr_api/reports/v2/report.py
+++ b/ppr-api/src/ppr_api/reports/v2/report.py
@@ -346,7 +346,8 @@ def _substitute_template_parts(template_code):
             'search-result/debtors',
             'search-result/registeringParty',
             'search-result/vehicleCollateral',
-            'search-result/generalCollateral'
+            'search-result/generalCollateral',
+            'search-result/securitiesActNotice',
         ]
 
         # substitute template parts - marked up by [[filename]]
diff --git a/ppr-api/src/ppr_api/resources/utils.py b/ppr-api/src/ppr_api/resources/utils.py
index db52d5464..45e0e594a 100644
--- a/ppr-api/src/ppr_api/resources/utils.py
+++ b/ppr-api/src/ppr_api/resources/utils.py
@@ -266,10 +266,10 @@ def validate_financing(json_data: dict, account_id: str) -> str:
     return error_msg
 
 
-def validate_registration(json_data):
+def validate_registration(json_data: dict, account_id: str, financing_statement=None) -> str:
     """Perform non-schema extra validation on a non-financing registrations."""
     error_msg = party_validator.validate_registration_parties(json_data)
-    error_msg += registration_validator.validate_registration(json_data)
+    error_msg += registration_validator.validate_registration(json_data, account_id, financing_statement)
     return error_msg
 
 
diff --git a/ppr-api/src/ppr_api/resources/v1/financing_statements.py b/ppr-api/src/ppr_api/resources/v1/financing_statements.py
index b020c28e0..2d1dc23cf 100644
--- a/ppr-api/src/ppr_api/resources/v1/financing_statements.py
+++ b/ppr-api/src/ppr_api/resources/v1/financing_statements.py
@@ -173,11 +173,6 @@ def post_amendments(registration_num: str):
         if not authorized(account_id, jwt) or is_bcol_help(account_id):
             return resource_utils.unauthorized_error_response(account_id)
         request_json = request.get_json(silent=True)
-        # Validate request data against the schema.
-        valid_format, errors = schema_utils.validate(request_json, 'amendmentStatement', 'ppr')
-        extra_validation_msg = resource_utils.validate_registration(request_json)
-        if not valid_format or extra_validation_msg != '':
-            return resource_utils.validation_error_response(errors, fs_utils.VAL_ERROR, extra_validation_msg)
         # payload base registration number must match path registration number
         if registration_num != request_json['baseRegistrationNumber']:
             return resource_utils.path_data_mismatch_error_response(registration_num,
@@ -187,6 +182,11 @@ def post_amendments(registration_num: str):
         # found or historical.
         statement = FinancingStatement.find_by_registration_number(registration_num, account_id,
                                                                    is_staff_account(account_id), True)
+        # Validate request data against the schema.
+        valid_format, errors = schema_utils.validate(request_json, 'amendmentStatement', 'ppr')
+        extra_validation_msg = resource_utils.validate_registration(request_json, account_id, statement)
+        if not valid_format or extra_validation_msg != '':
+            return resource_utils.validation_error_response(errors, fs_utils.VAL_ERROR, extra_validation_msg)
         # Verify base debtor (bypassed for staff)
         if not statement.validate_debtor_name(request_json['debtorName'], is_staff_account(account_id)):
             return resource_utils.base_debtor_invalid_response()
@@ -425,11 +425,6 @@ def post_discharges(registration_num: str):
         if not authorized(account_id, jwt) or is_bcol_help(account_id):
             return resource_utils.unauthorized_error_response(account_id)
         request_json = request.get_json(silent=True)
-        # Validate request data against the schema.
-        valid_format, errors = schema_utils.validate(request_json, 'dischargeStatement', 'ppr')
-        extra_validation_msg = resource_utils.validate_registration(request_json)
-        if not valid_format or extra_validation_msg != '':
-            return resource_utils.validation_error_response(errors, fs_utils.VAL_ERROR, extra_validation_msg)
         # payload base registration number must match path registration number
         if registration_num != request_json['baseRegistrationNumber']:
             return resource_utils.path_data_mismatch_error_response(registration_num,
@@ -439,6 +434,11 @@ def post_discharges(registration_num: str):
         # found or historical.
         statement = FinancingStatement.find_by_registration_number(registration_num, account_id,
                                                                    is_staff_account(account_id), True)
+        # Validate request data against the schema.
+        valid_format, errors = schema_utils.validate(request_json, 'dischargeStatement', 'ppr')
+        extra_validation_msg = resource_utils.validate_registration(request_json, account_id, statement)
+        if not valid_format or extra_validation_msg != '':
+            return resource_utils.validation_error_response(errors, fs_utils.VAL_ERROR, extra_validation_msg)
         # Verify base debtor (bypassed for staff)
         if not statement.validate_debtor_name(request_json['debtorName'], is_staff_account(account_id)):
             return resource_utils.base_debtor_invalid_response()
diff --git a/ppr-api/src/ppr_api/resources/v1/user_profile.py b/ppr-api/src/ppr_api/resources/v1/user_profile.py
index 71529eba6..fc889ec9d 100644
--- a/ppr-api/src/ppr_api/resources/v1/user_profile.py
+++ b/ppr-api/src/ppr_api/resources/v1/user_profile.py
@@ -18,7 +18,7 @@
 from flask import Blueprint, current_app, g, request
 from flask_cors import cross_origin
 from ppr_api.exceptions import BusinessException
-from ppr_api.models import User, UserProfile
+from ppr_api.models import ClientCode, User, UserProfile
 from ppr_api.resources import utils as resource_utils
 from ppr_api.services.authz import (
     GENERAL_USER_GROUP,
@@ -64,6 +64,8 @@ def get_user_profile():
             user.user_profile = UserProfile.create_from_json(None, user.id)
             user.user_profile.save()
         profile_json = set_service_agreements(jwt, user.user_profile)
+        parties = ClientCode.find_by_account_id(account_id, False, True)
+        profile_json['hasSecuritiesActAccess'] = parties is not None and len(parties) > 0
         return profile_json, HTTPStatus.OK
 
     except BusinessException as exception:
diff --git a/ppr-api/src/ppr_api/utils/validators/financing_validator.py b/ppr-api/src/ppr_api/utils/validators/financing_validator.py
index dc6d193f1..b7379c781 100644
--- a/ppr-api/src/ppr_api/utils/validators/financing_validator.py
+++ b/ppr-api/src/ppr_api/utils/validators/financing_validator.py
@@ -63,8 +63,7 @@
                 PPSATypes.FORESTRY_LIEN.value,
                 PPSATypes.FORESTRY_SUB_CHARGE.value,
                 MiscellaneousTypes.HC_NOTICE.value,
-                MiscellaneousTypes.WAGES_UNPAID.value,
-                MiscellaneousTypes.SECURITIES_NOTICE]
+                MiscellaneousTypes.WAGES_UNPAID.value]
 VC_REQUIRED_LIST = [MiscellaneousTypes.MH_NOTICE.value,
                     PPSATypes.MARRIAGE_SEPARATION.value,
                     PPSATypes.REPAIRER_LIEN.value,
diff --git a/ppr-api/src/ppr_api/utils/validators/registration_validator.py b/ppr-api/src/ppr_api/utils/validators/registration_validator.py
index baa343355..7e9f98e07 100644
--- a/ppr-api/src/ppr_api/utils/validators/registration_validator.py
+++ b/ppr-api/src/ppr_api/utils/validators/registration_validator.py
@@ -15,7 +15,8 @@
 
 Validation includes verifying delete collateral ID's and timestamps.
 """
-from ppr_api.models import utils as model_utils, VehicleCollateral
+from ppr_api.models import ClientCode, FinancingStatement, utils as model_utils, VehicleCollateral
+from ppr_api.models.registration import MiscellaneousTypes
 
 
 COURT_ORDER_INVALID = 'CourtOrderInformation is not allowed with a base registration type of {}. '
@@ -32,14 +33,16 @@
 LIFE_MISSING = 'Either Life Years or Life Infinite is required with this registration type. '
 LIFE_INVALID = 'Only one of Life Years or Life Infinite is allowed. '
 VC_AP_NOT_ALLOWED = 'Vehicle Collateral type AP is not allowed. '
+SE_ACCESS_INVALID = 'Not authorized: the Securities Act Notice SE type is restricted by account ID. '
 
 
-def validate_registration(json_data, financing_statement=None):
+def validate_registration(json_data: dict, account_id: str, financing_statement=None):
     """Perform all registration data validation checks not covered by schema validation."""
     error_msg = ''
     if 'authorizationReceived' not in json_data or not json_data['authorizationReceived']:
         error_msg += AUTHORIZATION_INVALID
     error_msg += validate_collateral(json_data, financing_statement)
+    error_msg += validate_securities_act_access(account_id, financing_statement)
 
     return error_msg
 
@@ -139,3 +142,13 @@ def validate_life(json_data, financing_statement):
         error_msg += LIFE_INVALID
 
     return error_msg
+
+
+def validate_securities_act_access(account_id: str, statement: FinancingStatement) -> str:
+    """Validate securities act registration type restricted access by account id."""
+    error_msg = ''
+    if account_id and statement and statement.registration[0].registration_type == MiscellaneousTypes.SECURITIES_NOTICE:
+        parties = ClientCode.find_by_account_id(account_id, False, True)
+        if not parties:
+            error_msg += SE_ACCESS_INVALID
+    return error_msg
diff --git a/ppr-api/tests/unit/api/test_user_profile.py b/ppr-api/tests/unit/api/test_user_profile.py
index d5fb87edb..35ddbfafe 100644
--- a/ppr-api/tests/unit/api/test_user_profile.py
+++ b/ppr-api/tests/unit/api/test_user_profile.py
@@ -141,6 +141,7 @@ def test_get_user_profile(session, client, jwt, desc, staff, include_account, st
         assert 'selectConfirmationDialog' in response_data
         assert 'defaultDropDowns' in response_data
         assert 'defaultTableFilters' in response_data
+        assert 'hasSecuritiesActAccess' in response_data
 
 
 @pytest.mark.parametrize('desc,staff,include_account,status,role,data', TEST_DATA_UPDATE)
diff --git a/ppr-api/tests/unit/api/test_utils.py b/ppr-api/tests/unit/api/test_utils.py
index 78085cde4..b66ea635c 100644
--- a/ppr-api/tests/unit/api/test_utils.py
+++ b/ppr-api/tests/unit/api/test_utils.py
@@ -205,7 +205,7 @@ def test_validate_registration(session, client, jwt, desc, valid):
         del json_data['authorizationReceived']
 
     # test
-    error_msg = resource_utils.validate_registration(json_data)
+    error_msg = resource_utils.validate_registration(json_data, 'PS12345')
     if valid:
         assert error_msg == ''
     else:
diff --git a/ppr-api/tests/unit/models/test_securities_act_notice.py b/ppr-api/tests/unit/models/test_securities_act_notice.py
index f9360d0e6..20a0854ab 100644
--- a/ppr-api/tests/unit/models/test_securities_act_notice.py
+++ b/ppr-api/tests/unit/models/test_securities_act_notice.py
@@ -23,12 +23,12 @@
 
 # testdata pattern is ({description}, {exists}, {sec_act_id}, {sec_act_type}, {type_desc})
 TEST_DATA_ID = [
-    ('Exists', True, 200000000, 'PRESERVATION', 'SECURITIES ACT NOTICE OF PRESERVATION ORDER'),
+    ('Exists', True, 200000000, 'PRESERVATION', 'PRESERVATION ORDER'),
     ('Does not exist', False, 300000000, None, None)
 ]
 # testdata pattern is ({description}, {exists}, {id}, {sec_act_type}, {type_desc})
 TEST_DATA_REG_ID = [
-    ('Exists', True, 200000038, 'PRESERVATION', 'SECURITIES ACT NOTICE OF PRESERVATION ORDER'),
+    ('Exists', True, 200000038, 'PRESERVATION', 'PRESERVATION ORDER'),
     ('Does not exist', False, 300000000, None, None)
 ]
 
@@ -65,14 +65,12 @@ def test_find_by_registration_id(session, desc, exists, reg_id, sec_act_type, ty
         assert sec_acts[0].registration_id == reg_id
         assert sec_acts[0].id
         assert sec_acts[0].effective_ts
-        assert sec_acts[0].detail_description
         assert sec_acts[0].securities_act_type == sec_act_type
         assert sec_acts[0].sec_act_type
         assert sec_acts[0].securities_act_orders
         sec_act_json = sec_acts[0].json
         assert sec_act_json.get('securitiesActNoticeType') == sec_act_type
         assert sec_act_json.get('effectiveDateTime')
-        assert sec_act_json.get('description')
         assert sec_act_json.get('registrationDescription') == type_desc
         assert sec_act_json.get('securitiesActOrders')
     else:
@@ -83,17 +81,14 @@ def test_securities_act_json(session):
     """Assert that the securities act model renders to a json format correctly."""
     now = model_utils.now_ts()
     sec_act_type = 'LIEN'
-    description = 'DETAIL DESC'
     sec_act = SecuritiesActNotice(
         id=10001,
         securities_act_type=sec_act_type,
-        effective_ts = now,
-        detail_description = description
+        effective_ts = now
     )
 
     sec_act_json = {
         'securitiesActNoticeType': sec_act_type,
-        'effectiveDateTime': model_utils.format_ts(now),
-        'description': description
+        'effectiveDateTime': model_utils.format_ts(now)
     }
     assert sec_act.json == sec_act_json
diff --git a/ppr-api/tests/unit/utils/test_financing_validator.py b/ppr-api/tests/unit/utils/test_financing_validator.py
index 37683b0fd..f72a1ae4c 100644
--- a/ppr-api/tests/unit/utils/test_financing_validator.py
+++ b/ppr-api/tests/unit/utils/test_financing_validator.py
@@ -116,6 +116,16 @@
             'description': 'Fridges and stoves. Proceeds: Accts Receivable.'
         }
     ],
+    'vehicleCollateral': [
+        {
+            'type': 'MV',
+            'serialNumber': 'KNADM5A39E6904135',
+            'year': 2014,
+            'make': 'KIA',
+            'model': 'RIO',
+            'vehicleId': 974124
+        }
+    ],
     'lifeInfinite': True
 }
 SE_SP_INVALID = [
@@ -167,7 +177,6 @@
     {
         'securitiesActNoticeType': 'LIEN',
         'effectiveDateTime': '2024-04-22T06:59:59+00:00',
-        'description': 'DETAIL DESC',
         'securitiesActOrders': [
             {
                 'courtOrder': True,
@@ -202,6 +211,8 @@
 # testdata pattern is ({description}, {valid}, {account_id}, {registering}, {secured}, {notices}, {message content})
 TEST_SE_DATA = [
     (DESC_VALID, True, 'PS00002', None, None, SECURITIES_ACT_NOTICES, None),
+    ('Valid no general collateral', True, 'PS00002', None, None, SECURITIES_ACT_NOTICES, None),
+    ('Valid no vehicle collateral', True, 'PS00002', None, None, SECURITIES_ACT_NOTICES, None),
     ('Invalid account', False, 'PS12345', None, None, SECURITIES_ACT_NOTICES, validator.SE_ACCESS_INVALID),
     ('Invalid notices', False, 'PS00002', None, None, None, validator.SE_NOTICES_MISSING),
     ('Invalid 2 secured parties', False, 'PS00002', None, SE_SP_INVALID, SECURITIES_ACT_NOTICES,
@@ -319,12 +330,10 @@
     (DESC_MISSING_GC, False, 'FS', validator.GC_REQUIRED),
     (DESC_MISSING_GC, False, 'HN', validator.GC_REQUIRED),
     (DESC_MISSING_GC, False, 'WL', validator.GC_REQUIRED),
-    (DESC_MISSING_GC, False, 'SE', validator.GC_REQUIRED),
     (DESC_INCLUDES_VC, False, 'FL', validator.VC_NOT_ALLOWED),
     (DESC_INCLUDES_VC, False, 'FA', validator.VC_NOT_ALLOWED),
     (DESC_INCLUDES_VC, False, 'FS', validator.VC_NOT_ALLOWED),
     (DESC_INCLUDES_VC, False, 'HN', validator.VC_NOT_ALLOWED),
-    (DESC_INCLUDES_VC, False, 'SE', validator.VC_NOT_ALLOWED),
     (DESC_INCLUDES_VC, True, 'WL', None)
 ]
 # testdata pattern is ({description}, {valid}, {reg_type}, {message content})
@@ -354,6 +363,10 @@ def test_validate_se(session, desc, valid, account_id, registering, secured, not
     """Assert that financing statement SE registration type validation works as expected."""
     # setup
     json_data = copy.deepcopy(FINANCING_SE)
+    if desc == 'Valid no general collateral':
+        del json_data['generalCollateral']
+    elif desc == 'Valid no vehicle collateral':
+        del json_data['vehicleCollateral']
     if notices:
         json_data['securitiesActNotices'] = notices
     if registering:
@@ -568,7 +581,6 @@ def test_validate_fl_fa_fs_hn_wl(session, desc, valid, reg_type, message_content
         del json_data['generalCollateral']
     if desc != DESC_INCLUDES_VC:
         del json_data['vehicleCollateral']
-
     error_msg = validator.validate(json_data, 'PS12345')
     if valid:
         assert error_msg == ''
diff --git a/ppr-api/tests/unit/utils/test_registration_validator.py b/ppr-api/tests/unit/utils/test_registration_validator.py
index d1336ad8c..823f0ad9e 100644
--- a/ppr-api/tests/unit/utils/test_registration_validator.py
+++ b/ppr-api/tests/unit/utils/test_registration_validator.py
@@ -492,7 +492,7 @@ def test_validate_authorization(session, desc, valid, message_content):
         json_data['authorizationReceived'] = False
 
     # test
-    error_msg = validator.validate_registration(json_data)
+    error_msg = validator.validate_registration(json_data, 'PS12345')
     if valid:
         assert error_msg == ''
     elif message_content:
@@ -525,7 +525,7 @@ def test_validate_sc_ap(session):
     # setup
     json_data = copy.deepcopy(AMENDMENT_VALID)
     json_data['addVehicleCollateral'][0]['type'] = 'AP'
-    error_msg = validator.validate_registration(json_data)
+    error_msg = validator.validate_registration(json_data, 'PS12345')
     # print(error_msg)
     assert error_msg != ''
     assert error_msg.find(validator.VC_AP_NOT_ALLOWED) != -1