Developer Console: Add App Deletion Safeguards & Contextual Delete Separation to Prevent Accidental App Deletion
In the Box Developer Console (app.box.com/developers/console), deleting a custom application is an irreversible action that permanently revokes the Client ID and breaks all active client/vendor installations with no self-service or support recovery path.
Currently, two UX gaps lead to catastrophic accidental deletions:
Ambiguous Button Scope Across Tabs: The global "Delete App" option is present in the navigation/footer across individual configuration tabs (such as Integrations, Webhooks, Configuration). Developers frequently mistake "Delete" for deleting the specific integration or webhook they are currently configuring, rather than the entire Box application.
Insufficient Deletion Friction for High-Impact Action: Because app deletion is permanent and cannot be undone, standard one-click modal confirmations are easily bypassed under the mistaken assumption of scoped deletion.
Business Impact / Use Case:
When an enterprise production app (e.g., integrated across hundreds of enterprise users, external vendors, and printing partners) is accidentally deleted:
All existing OAuth tokens and client installations immediately stop functioning.
The customer is forced to recreate a new app with a new Client ID/Secret, re-submit for publication review, re-allowlist across multiple external enterprises, and coordinate manual reinstallation across all vendors.
This results in critical business workflow downtime and high support escalation overhead.
Proposed Enhancements / Solutions:
Contextual UI Separation:
Remove the global "Delete App" button from sub-feature tabs (Integrations, Webhooks, Authorization, etc.).
Move "Delete Application" into a dedicated, distinct Danger Zone under an Advanced Settings / General tab at the bottom of the page.
Clearly distinguish between "Remove Integration / Webhook" and "Delete Entire Application".
Multi-Step Deletion Safeguards:
Explicit Name Confirmation: Require the developer to manually type the full Application Name or Client ID to enable the delete confirmation button.
Require "Disabled / Offline" State First: Require all integrations/endpoints to be toggled to Offline or Disabled before the app can be deleted.
Optional Email / Admin Verification: For published or enterprise-authorized apps, send a confirmation link to the app owner / primary admin before deletion is executed.
Soft-Delete / Grace Period (Optional/Future):
Introduce a 7-day to 14-day "Soft Deleted / Deactivated" state where the app is disabled but can be restored with its original Client ID by the owner or Box Support before permanent purging.