{"id":324706,"date":"2026-06-18T16:40:50","date_gmt":"2026-06-18T16:40:50","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/codefaeries-store-sentinel\/"},"modified":"2026-06-18T16:40:31","modified_gmt":"2026-06-18T16:40:31","slug":"codefaeries-store-sentinel","status":"publish","type":"plugin","link":"https:\/\/yor.wordpress.org\/plugins\/codefaeries-store-sentinel\/","author":15664861,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"CodeFaeries Store Sentinel","header_author":"CodeFaeries","header_description":"WooCommerce early warning system \u2014 monitors critical store actions and surfaces them in a chronological activity feed.","assets_banners_color":"e9f2ed","last_updated":"2026-06-18 16:40:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/codefaeries.com\/product\/store-sentinel\/","header_author_uri":"https:\/\/codefaeries.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"lwsdevelopers","date":"2026-06-18 16:40:31"}},"upgrade_notice":{"1.0.2":"<p>Leaner free plugin with documented extension hooks and a clearer privacy disclosure. Recommended update.<\/p>","1.0.0":"<p>Initial release. WooCommerce early warning system with activity feed, event tracking, settings, and dashboard widget.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3577560,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3577560,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3577560,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3577560,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Activity feed with chronological event timeline","2":"Filter bar with event type, severity, and date range filters","3":"Event detail modal showing full context","4":"Dashboard widget with today's event summary"}},"plugin_section":[262246],"plugin_tags":[8531,45369,600,267758,286],"plugin_category":[45,54],"plugin_contributors":[147161],"plugin_business_model":[],"class_list":["post-324706","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-activity-log","plugin_tags-order-tracking","plugin_tags-security","plugin_tags-store-monitoring","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-security-and-spam-protection","plugin_contributors-lwsdevelopers","plugin_committers-lwsdevelopers"],"banners":{"banner":"https:\/\/ps.w.org\/codefaeries-store-sentinel\/assets\/banner-772x250.png?rev=3577560","banner_2x":"https:\/\/ps.w.org\/codefaeries-store-sentinel\/assets\/banner-1544x500.png?rev=3577560","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/codefaeries-store-sentinel\/assets\/icon-128x128.png?rev=3577560","icon_2x":"https:\/\/ps.w.org\/codefaeries-store-sentinel\/assets\/icon-256x256.png?rev=3577560","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>CodeFaeries Store Sentinel is a WooCommerce activity monitor that tracks critical store events and presents them in a clean, chronological feed. Know immediately when orders are trashed, deleted, or change status \u2014 and when products disappear from your catalog.<\/p>\n\n<p><strong>Requires WooCommerce<\/strong> \u2014 Store Sentinel is purpose-built for WooCommerce stores and requires WooCommerce 7.9 or later.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Chronological Activity Feed<\/strong> \u2014 All critical WooCommerce events in one timeline, sorted newest-first<\/li>\n<li><strong>Order Tracking<\/strong> \u2014 Monitor order trashed, permanently deleted, and status change events<\/li>\n<li><strong>Product Tracking<\/strong> \u2014 Monitor product trashed and permanently deleted events<\/li>\n<li><strong>Severity Levels<\/strong> \u2014 Events classified as info, warning, or critical for quick visual scanning<\/li>\n<li><strong>Filters<\/strong> \u2014 Filter by event type, severity level, and date range<\/li>\n<li><strong>Event Details<\/strong> \u2014 Click any event to see full context (order totals, old\/new status, product info)<\/li>\n<li><strong>Dashboard Widget<\/strong> \u2014 At-a-glance today's stats on the WordPress dashboard<\/li>\n<li><strong>HPOS-Native<\/strong> \u2014 Built for WooCommerce High-Performance Order Storage from day one<\/li>\n<li><strong>Privacy-First<\/strong> \u2014 Customer emails are partially masked; no full PII stored<\/li>\n<li><strong>Automatic Cleanup<\/strong> \u2014 Daily cron removes events older than the retention period (configurable; 7-day default)<\/li>\n<li><strong>Multisite Support<\/strong> \u2014 Works on multisite networks with per-site data isolation<\/li>\n<li><strong>Developer Friendly<\/strong> \u2014 Filters and actions for every event, severity, and query<\/li>\n<\/ul>\n\n<h4>Tracked Events<\/h4>\n\n<ul>\n<li><strong>Order trashed<\/strong> (warning) \u2014 Order moved to trash<\/li>\n<li><strong>Order deleted<\/strong> (critical) \u2014 Order permanently deleted<\/li>\n<li><strong>Order status changed<\/strong> (info) \u2014 Order status transition (e.g., processing to completed)<\/li>\n<li><strong>Product trashed<\/strong> (warning) \u2014 Product moved to trash<\/li>\n<li><strong>Product deleted<\/strong> (critical) \u2014 Product permanently deleted<\/li>\n<\/ul>\n\n<h3>Privacy &amp; Data<\/h3>\n\n<p>Store Sentinel records WooCommerce store events (order\/product trashes,\ndeletions and status changes) to a custom table in your own database. Customer\nemails captured in event context are partially masked, and client IP addresses \u2014\nwhen IP tracking is enabled \u2014 are stored only as a one-way SHA-256 hash salted\nwith your site's WordPress salt. The raw IP is never written to the database.<\/p>\n\n<p>Store Sentinel does not send any data off-site. No third-party services are\ncontacted. All event data stays in your own WordPress database and is removed\nwhen the plugin is uninstalled.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>codefaeries-store-sentinel<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Ensure WooCommerce is installed and active.<\/li>\n<li>Navigate to <strong>Store Sentinel<\/strong> in the admin menu to view the activity feed.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Store Sentinel is a WooCommerce-specific monitoring tool and requires WooCommerce 7.9 or later. If WooCommerce is not active, the plugin will show an admin notice and remain inactive.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Is it compatible with HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. Store Sentinel is built HPOS-native from the ground up. It uses WooCommerce order objects and HPOS-compatible hooks exclusively \u2014 it never accesses the wp_posts table for order data.<\/p><\/dd>\n<dt id=\"how%20long%20are%20events%20retained%3F\"><h3>How long are events retained?<\/h3><\/dt>\n<dd><p>Events are retained for 7 days by default; the retention period is configurable on the Settings \u2192 Data &amp; Privacy tab. A daily cron job automatically removes older events to keep the database lean.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my data if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Deactivation only clears the cron schedule \u2014 all event data is preserved. If you reactivate, your full history is still available. Data is only removed when you <strong>delete<\/strong> (uninstall) the plugin through the WordPress admin.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20multisite%3F\"><h3>Does it work on multisite?<\/h3><\/dt>\n<dd><p>Yes. Store Sentinel supports multisite with per-site activation. Each site has its own events table and settings. Uninstall cleans up all sites in batches.<\/p><\/dd>\n<dt id=\"can%20i%20extend%20it%20with%20custom%20events%3F\"><h3>Can I extend it with custom events?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>codefaeries_store_sentinel_event_data<\/code> filter to modify event data before recording, or the <code>codefaeries_store_sentinel_should_record<\/code> filter to conditionally skip events. The <code>codefaeries_store_sentinel_event_recorded<\/code> action fires after each event is stored.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2 - 2026-05-18<\/h4>\n\n<ul>\n<li>Improved: Store Sentinel is now a focused free plugin \u2014 extension hooks let other plugins build on top of the free core cleanly.<\/li>\n<li>Compatibility: \"Tested up to\" bumped to WordPress 7.0.<\/li>\n<li>Code quality: passes WordPress Plugin Check cleanly.<\/li>\n<li>New: filter to exclude specific plugin slugs from event source detection (helps when third-party plugins clutter the backtrace).<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Internal: release packaging refreshed and CHANGELOG.md consolidated into this changelog.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<p>First public release. Store Sentinel is a WooCommerce early-warning system: a chronological feed of critical store actions.<\/p>\n\n<ul>\n<li>Live activity feed with filters (event type, severity, date range) and pagination.<\/li>\n<li>Tracks orders (trashed, deleted, status changes, meta removal) and products (trashed, deleted).<\/li>\n<li>Severity levels \u2014 info, warning, critical \u2014 with a detail modal showing full context.<\/li>\n<li>Records the source of each action (Admin, REST API, WP-CLI, Cron, AJAX) and the actor (user, role, display name).<\/li>\n<li>Settings page for event toggles, retention, privacy, and data management.<\/li>\n<li>Dashboard widget showing today's activity.<\/li>\n<li>Daily automatic retention cleanup (7-day default, configurable).<\/li>\n<li>HPOS-native (WooCommerce 7.9+).<\/li>\n<li>Multisite-aware install and uninstall.<\/li>\n<li>Accessibility: focus-trapped modal, ARIA live regions, keyboard navigation.<\/li>\n<li>Extensible by developers via filters and actions.<\/li>\n<\/ul>","raw_excerpt":"WooCommerce early warning system \u2014 monitors critical store actions and surfaces them in a chronological activity feed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324706","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324706"}],"author":[{"embeddable":true,"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lwsdevelopers"}],"wp:attachment":[{"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324706"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324706"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324706"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324706"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324706"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/yor.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}