# Archiving or Disabling a User

<p class="callout info">Archiving or disabling a user account allows administrators to deactivate access to the user portal while preserving all historical data associated with the profile. Its primary purpose is to ensure data integrity for past transactions and maintain strict security when a user leaves the organization or changes roles. This article is intended for OPS-COM administrators responsible for managing user access and system security.</p>

## Setup and Configuration

Disabling a user account (simply preventing login) requires no specialized setup. However, performing a categorized archive requires administrators to configure specific archive categories in advance.

**Admin Side:** To utilize the structured archiving feature, administrators must first create dedicated archive classifications (e.g., "Former Student," "Terminated Staff," or "Account Closed").

<p class="callout info">If you have not yet created these categories, they will not appear in the drop-down menu during the archiving process. Instructions for creating these categories can be found on the User Types wiki page.</p>

<div _ngcontent-ng-c3275733674="" class="response-container-content ng-tns-c3275733674-110" id="bkmrk-user-side%3A-this-proc">**User Side:** This process is an administrative security action. End-users are not notified by the system when their account is disabled or archived, and they will simply be unable to log in to the portal.</div>## Using this Feature

Administrators can use the following instructions to either temporarily disable a user's login access or perform a formalized, categorized archive.

### Accessing the User Profile

Before performing either action, you must locate the target user.

<div _ngcontent-ng-c3275733674="" class="response-container-content ng-tns-c3275733674-110" id="bkmrk-locate-the-user-you-">1. Locate the user you wish to modify using the main menu search functionalities.
2. Click the **Username** from the search results to open their [User Profile Landing Page](https://opscom.wiki/books/the-opscom-admin-portal/page/user-profile-overview "User Profile Overview").
3. Confirm that the name displayed at the top right-hand corner matches the user whose account you intend to modify.

</div>### Disabling a User Account (Preventing Login)

This method revokes a user's ability to log in to their account while keeping their profile and data fully intact for administrative reference.

<div _ngcontent-ng-c3275733674="" class="response-container-content ng-tns-c3275733674-110" id="bkmrk-click-the-edit-butto">1. Click the **Edit** button located on the Basic Profile Information bar.
2. Disable the **Allow user to login and mark account as active** checkbox on the resulting Edit User Profile screen.
3. Click the **Submit Registration Information for Processing** button at the bottom of the page.
4. Click the **Information Correct** button on the Confirm Registration Information screen to submit the change.

</div>### Archiving a User Account (Categorized Disablement)

Archiving provides a structured way to disable a user account by assigning it to a specific category, which is highly useful for historical reporting or internal tracking.

<div _ngcontent-ng-c3275733674="" class="response-container-content ng-tns-c3275733674-110" id="bkmrk-click-the-edit-butto-1">1. Click the **Edit** button located on the Basic Profile Information bar.
2. Click the **Archive Type** drop-down menu and choose the appropriate status for the [User Types](https://opscom.wiki/books/setup-configuration-for-admins/page/user-types "User Types").
3. Click the **Archive User** button.
4. Confirm the prompt to finalize the archiving process.

</div>---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

<div _ngcontent-ng-c3275733674="" class="response-container-content ng-tns-c3275733674-110" id="bkmrk-preserve-data-integr">- <span style="color: rgb(22, 145, 121);">**Preserve data integrity:** **Always disable or archive an account instead of attempting to delete a user.** User accounts have associated historical data such as permits, violations, payments, and login history. Direct deletion compromises this data integrity and breaks historical reporting.</span>
- <span style="color: rgb(22, 145, 121);">**Enforce security protocols:** **Disable accounts promptly when a user's access is no longer required.** Removing access immediately upon a user's departure is a critical security measure to prevent unauthorized system entry.</span>
- <span style="color: rgb(22, 145, 121);">**Utilize archive types effectively:** **Categorize exactly why an account was disabled by using specific archive user types.** Tagging a profile as "Account Closed" versus "Temporary Suspension" provides valuable context for future internal auditing.</span>
- <span style="color: rgb(22, 145, 121);">**Understand reversibility:** **Remember that disabling an account is completely reversible.** You can easily reactivate a returning user's account by navigating to their profile and re-enabling the login checkbox.</span>
- <span style="color: rgb(22, 145, 121);">**Maintain permission awareness:** **Be aware that a disabled or archived user account retains its assigned roles and permissions for reporting purposes.** While the user can no longer act on these permissions, historical reports will accurately reflect the access they held while active.</span>

</div><div _ngcontent-ng-c1014978951="" class="chat-history-scroll-container" id="bkmrk-data-integrity%3A-disa"><div _ngcontent-ng-c1014978951="" class="conversation-container message-actions-hover-boundary ng-star-inserted" id="bkmrk-data-integrity%3A-disa-1"><div _ngcontent-ng-c1379262811=""><div _ngcontent-ng-c3275733674="" class="response-container ng-tns-c3275733674-110 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c3275733674="" class="presented-response-container ng-tns-c3275733674-110"><div _ngcontent-ng-c3275733674="" class="response-container-content ng-tns-c3275733674-110"><div _ngcontent-ng-c1379262811="" class="response-content ng-tns-c3275733674-110"></div></div></div></div></div></div></div>