{"id":49837177,"url":"https://github.com/84emllc/84em-file-integrity-checker","last_synced_at":"2026-05-14T01:40:53.844Z","repository":{"id":315496832,"uuid":"1052198541","full_name":"84emllc/84em-file-integrity-checker","owner":"84emllc","description":"A modern WordPress security plugin for monitoring file integrity across your WordPress installation. Detect unauthorized changes, track file modifications, and maintain security compliance with automated scanning and comprehensive reporting.","archived":false,"fork":false,"pushed_at":"2026-01-10T15:30:34.000Z","size":839,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-11T04:26:42.889Z","etag":null,"topics":["security","security-tools","wordpress-development","wordpress-plugin"],"latest_commit_sha":null,"homepage":"https://84em.com/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/84emllc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-07T15:56:50.000Z","updated_at":"2026-01-10T15:28:10.000Z","dependencies_parsed_at":"2025-09-19T00:41:30.279Z","dependency_job_id":"a4dec686-e906-4865-8025-c34e889e5d32","html_url":"https://github.com/84emllc/84em-file-integrity-checker","commit_stats":null,"previous_names":["84em/84em-file-integrity-checker","84emllc/84em-file-integrity-checker"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/84emllc/84em-file-integrity-checker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/84emllc%2F84em-file-integrity-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/84emllc%2F84em-file-integrity-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/84emllc%2F84em-file-integrity-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/84emllc%2F84em-file-integrity-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/84emllc","download_url":"https://codeload.github.com/84emllc/84em-file-integrity-checker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/84emllc%2F84em-file-integrity-checker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33006807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["security","security-tools","wordpress-development","wordpress-plugin"],"created_at":"2026-05-14T01:40:52.936Z","updated_at":"2026-05-14T01:40:53.839Z","avatar_url":"https://github.com/84emllc.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 84EM File Integrity Checker\n\n![Tested On](https://img.shields.io/badge/tested%20on-555)\n[![PHP 8.0](https://img.shields.io/github/actions/workflow/status/84emllc/84em-file-integrity-checker/ci.yml?branch=main\u0026label=PHP%208.0)](https://github.com/84emllc/84em-file-integrity-checker/actions/workflows/ci.yml)\n[![PHP 8.1](https://img.shields.io/github/actions/workflow/status/84emllc/84em-file-integrity-checker/ci.yml?branch=main\u0026label=PHP%208.1)](https://github.com/84emllc/84em-file-integrity-checker/actions/workflows/ci.yml)\n[![PHP 8.2](https://img.shields.io/github/actions/workflow/status/84emllc/84em-file-integrity-checker/ci.yml?branch=main\u0026label=PHP%208.2)](https://github.com/84emllc/84em-file-integrity-checker/actions/workflows/ci.yml)\n[![PHP 8.3](https://img.shields.io/github/actions/workflow/status/84emllc/84em-file-integrity-checker/ci.yml?branch=main\u0026label=PHP%208.3)](https://github.com/84emllc/84em-file-integrity-checker/actions/workflows/ci.yml)\n[![PHP 8.4](https://img.shields.io/github/actions/workflow/status/84emllc/84em-file-integrity-checker/ci.yml?branch=main\u0026label=PHP%208.4)](https://github.com/84emllc/84em-file-integrity-checker/actions/workflows/ci.yml)\n[![PHP 8.5](https://img.shields.io/github/actions/workflow/status/84emllc/84em-file-integrity-checker/ci.yml?branch=main\u0026label=PHP%208.5)](https://github.com/84emllc/84em-file-integrity-checker/actions/workflows/ci.yml)\n\n[![Security Review](https://img.shields.io/github/actions/workflow/status/84emllc/84em-file-integrity-checker/security-review.yml?branch=main\u0026label=Security%20Review)](https://github.com/84emllc/84em-file-integrity-checker/actions/workflows/security-review.yml)\n\nA modern WordPress plugin for monitoring file integrity across your WordPress installation. Detect unauthorized changes, track file modifications, and maintain security compliance with automated scanning and comprehensive reporting.\n\n## ⚠️ Important: What This Plugin Is (And Isn't)\n\n### This is a SPECIALIZED File Integrity Monitor, NOT a Complete Security Plugin\n\n**✅ What This Plugin DOES:**\n- **Monitors file changes** using SHA-256 checksums to detect any modifications\n- **Tracks exactly what changed** by storing encrypted file content and generating diffs\n- **Provides forensic analysis** showing line-by-line changes in modified files\n- **Maintains compliance audit trails** with comprehensive logging and history\n- **Alerts on unauthorized changes** via email and Slack notifications\n- **Schedules automated scans** using reliable Action Scheduler (not WP Cron)\n\n**❌ What This Plugin DOES NOT Do:**\n- **Does NOT block attacks** - No firewall or traffic filtering\n- **Does NOT scan for malware** - No virus/malware pattern detection\n- **Does NOT fix vulnerabilities** - No automatic security patching\n- **Does NOT harden WordPress** - No login protection, 2FA, or security headers\n- **Does NOT prevent intrusions** - No brute force protection or IP blocking\n- **Does NOT monitor user activity** - No login tracking or user auditing\n- **Does NOT clean infections** - No automatic malware removal\n- **Does NOT check plugin/theme vulnerabilities** - No vulnerability database checks\n- **Does NOT protect against SQL injection** - No query filtering\n- **Does NOT implement WAF** - No Web Application Firewall features\n\n### 📋 When to Use This Plugin\n\n**Use this plugin when you need:**\n- Regulatory compliance requiring file integrity monitoring (PCI DSS, HIPAA, etc.)\n- Forensic capabilities to investigate what changed in your files\n- Detection of unauthorized file modifications\n- Detailed audit trails for security compliance\n- To complement your existing security plugin with deep file monitoring\n\n**This plugin works best ALONGSIDE traditional security plugins** like Wordfence, Sucuri, or iThemes Security that handle active threat prevention. Think of it as your \"security camera\" that records what happened, not your \"security guard\" that stops threats.\n\n---\n\n## Features\n\n### 🔍 Comprehensive File Scanning\n- SHA-256 checksum generation for all files\n- Configurable file type scanning (PHP, JS, CSS, HTML by default)\n- Smart exclusion patterns for cache and temporary directories\n- Memory-efficient scanning with real-time progress tracking\n- Batch processing for large installations\n- Pre-generated diffs for better performance\n- Sensitive file protection (wp-config.php, .env, etc.)\n\n### 🎯 Priority Monitoring (Coming Soon)\n- **Three-tier Priority System**: Critical, High, Normal classifications\n- **Pattern Matching**: Exact, prefix, suffix, contains, glob, and regex patterns\n- **Change Velocity Tracking**: Detect files changing too frequently\n- **Maintenance Windows**: Suppress alerts during scheduled maintenance\n- **Immediate Notifications**: Instant alerts for critical file changes\n- **Rule Inheritance**: Directory-level priority cascading\n- **Throttling**: Prevent notification spam with time-based limits\n\n### 🔐 Security \u0026 Data Protection\n- AES-256-GCM encryption for all stored file content\n- Authenticated encryption with tamper detection\n- Secure key derivation from WordPress salts\n- Automatic encryption of cached file data\n- Protection of sensitive file content at rest\n\n### ⏰ Advanced Scheduling System\n- Multiple independent scan schedules\n- Flexible frequency options:\n  - **Hourly**: Run at specific minutes past the hour\n  - **Daily**: Run at any time of day\n  - **Weekly**: Choose day and time\n- Timezone-aware scheduling\n- Action Scheduler integration (not WP Cron) for reliability\n- Enable/disable schedules without deletion\n\n### 📊 Detailed Reporting\n- Track file changes, additions, and deletions\n- View scan history with complete audit trail\n- Compare checksums between scans with diff viewing\n- Dashboard widget for at-a-glance monitoring\n- Comprehensive system logging with levels and contexts\n- Bulk operations for scan management\n\n### 🛠️ Developer-Friendly Architecture\n- Modern PHP 8.0+ with type declarations\n- PSR-4 autoloading via Composer\n- Dependency injection container\n- Repository pattern for data access\n- Service layer architecture\n- Comprehensive PHPUnit test suite\n\n### 🔔 Notification System\n- Email notifications for detected changes\n- Slack webhook integration with testing\n- Customizable notification templates\n- Configure which changes trigger alerts\n- Resend notifications for past scans\n\n### 🎨 WordPress Integration\n- Native WordPress admin UI\n- Inherits WordPress admin color schemes\n- WP-CLI command support\n- Translation ready\n\n## Requirements\n\n- PHP 8.0 or higher with OpenSSL extension\n- WordPress 5.8 or higher\n- MySQL 5.7+ or MariaDB 10.2+\n- Action Scheduler (provided by WooCommerce, Action Scheduler plugin, or similar)\n- Properly configured WordPress salts (AUTH_KEY, SECURE_AUTH_KEY, etc.)\n- Composer (for development)\n\n## Installation\n\n### From WordPress Admin\n\n1. Download the plugin ZIP file\n2. Navigate to **Plugins → Add New** in WordPress admin\n3. Click **Upload Plugin** and select the ZIP file\n4. Click **Install Now** and then **Activate**\n\n### Manual Installation\n\n1. Upload the `84em-file-integrity-checker` folder to `/wp-content/plugins/`\n2. Run `composer install` in the plugin directory\n3. Activate the plugin through the WordPress admin\n\n### Development Installation\n\n```bash\ncd wp-content/plugins\ngit clone [repository-url] 84em-file-integrity-checker\ncd 84em-file-integrity-checker\ncomposer install\n```\n\n## Configuration\n\n### Basic Settings\n\nNavigate to **File Integrity → Settings** to configure:\n\n- **File Extensions**: Choose which file types to scan\n- **Excluded Directories**: Paths to skip during scanning\n- **Max File Size**: Skip files larger than this size\n- **Email Notifications**: Get alerts when changes are detected\n- **Retention Period**: How long to keep scan history\n- **Slack Integration**: Configure webhook for Slack notifications with test button\n- **Logging**: Configure system log levels (debug, info, warning, error) and retention\n\n### Creating Scan Schedules\n\n1. Go to **File Integrity → Schedules**\n2. Click **Create New Schedule**\n3. Configure:\n   - **Name**: Descriptive name for the schedule\n   - **Frequency**: Hourly, daily, or weekly\n   - **Time**: When to run the scan\n   - **Active**: Enable immediately or keep disabled\n\n### Example Schedule Configurations\n\n**Daily Security Scan**\n- Frequency: Daily\n- Time: 2:00 AM\n- Purpose: Regular overnight integrity check\n\n**Hourly Quick Scan**\n- Frequency: Hourly\n- Time: :15 (15 minutes past each hour)\n- Purpose: Frequent monitoring for critical sites\n\n**Weekly Deep Scan**\n- Frequency: Weekly\n- Day: Sunday\n- Time: 3:00 AM\n- Purpose: Comprehensive weekly audit\n\n## WP-CLI Commands\n\nThe plugin provides comprehensive CLI support for automation and scripting.\n\n### Running Scans\n\n```bash\n# Run a manual scan\nwp 84em integrity scan\n\n# Run with specific type\nwp 84em integrity scan --type=scheduled\n\n# Output in different formats\nwp 84em integrity scan --format=json\n```\n\n### Viewing Results\n\n```bash\n# List recent scan results\nwp 84em integrity results\n\n# View specific scan details\nwp 84em integrity results 123\n```\n\n### Managing Schedules\n\n```bash\n# List all schedules\nwp 84em integrity schedules list\n\n# Create a new schedule\nwp 84em integrity schedules create \\\n  --name=\"Daily Scan\" \\\n  --frequency=daily \\\n  --time=02:00 \\\n  --active\n\n# Enable/disable schedules\nwp 84em integrity schedules enable --id=1\nwp 84em integrity schedules disable --id=1\n\n# Delete a schedule\nwp 84em integrity schedules delete --id=1\n\n# Recalculate all schedule next run times\nwp 84em integrity recalculate_schedules\n```\n\n### Configuration Management\n\n```bash\n# List all settings\nwp 84em integrity config list\n\n# Get specific setting\nwp 84em integrity config get notification_email\n\n# Update settings\nwp 84em integrity config set notification_email admin@example.com\nwp 84em integrity config set max_file_size 10485760\n```\n\n## Baseline Management\n\n### What is a Baseline Scan?\n\nThe baseline scan is your reference point for file integrity monitoring. It represents a known-good state of your WordPress installation that all future scans are compared against.\n\n### How Baselines Work\n\n1. **Automatic Creation**: Your first completed scan is automatically marked as the baseline\n2. **Storage Optimization**: Only the baseline contains all files. Subsequent scans only store changed, new, and deleted files (98% storage reduction)\n3. **Protected Retention**: Baseline scans are exempt from automatic deletion and retention policies\n4. **Hybrid Comparison**: New scans compare against the most recent scan, falling back to the baseline for complete file history\n\n### When to Refresh Your Baseline\n\nConsider creating a new baseline when:\n\n- WordPress core has been updated to a new major version\n- Multiple plugins have been installed, updated, or removed\n- You've verified that all file changes detected are legitimate\n- Your current baseline is older than 6 months\n- You receive a suggestion notice after WordPress or plugin updates\n\n### Baseline Management Commands\n\n**View current baseline:**\n```bash\nwp 84em integrity baseline show\n```\n\n**Set a specific scan as baseline:**\n```bash\nwp 84em integrity baseline mark \u003cscan-id\u003e\n\n# Example: Set scan #42 as baseline\nwp 84em integrity baseline mark 42\n```\n\n**Create new baseline (run scan and set as baseline):**\n```bash\nwp 84em integrity baseline refresh\n\n# Skip confirmation prompt\nwp 84em integrity baseline refresh --yes\n```\n\n**Clear baseline designation:**\n```bash\nwp 84em integrity baseline clear\n```\n\n**View baseline details:**\n```bash\n# Show baseline scan information\nwp 84em integrity baseline show\n\n# View full baseline scan results\nwp 84em integrity results \u003cbaseline-scan-id\u003e\n```\n\n### Baseline Protection Features\n\nBaseline scans are automatically protected:\n\n- **Cannot be deleted** through the admin interface or bulk operations\n- **Exempt from retention policies** - never automatically cleaned up\n- **Preserved during cleanup** operations via WP-CLI\n- **Included in database optimization** but file records are never removed\n\nTo delete a baseline scan, you must first clear the baseline designation using the Settings page or WP-CLI command.\n\n### Automated Suggestions\n\nThe plugin will automatically suggest creating a new baseline when:\n\n- **WordPress core is updated** - A notice appears for 7 days after version change\n- **Plugins are activated/deactivated** - Cumulative notice for plugin file changes\n- **Baseline age exceeds 6 months** - Warning shown in Settings page\n\nThese suggestions can be dismissed and will automatically expire after 7 days.\n\n### Best Practices\n\n1. **Review before baseline creation**: Always review scan results before marking as baseline to ensure all changes are legitimate\n2. **Regular baseline updates**: Refresh your baseline after major WordPress or plugin updates\n3. **Keep baselines relevant**: If your baseline is very old, comparison accuracy decreases\n4. **Use WP-CLI for automation**: Integrate baseline refresh into your deployment workflow:\n   ```bash\n   # After WordPress update in staging\n   wp 84em integrity baseline refresh --yes\n   ```\n\n### Database Storage Impact\n\nThe baseline system dramatically reduces database storage requirements:\n\n- **Before optimization**: ~9.4 million rows for 30 days of hourly scans\n- **After optimization**: ~188,000 rows for 30 days of hourly scans\n- **Reduction**: 98% storage savings\n\nOnly the baseline scan stores all file records. Subsequent scans only store files that have changed, are new, or were deleted.\n\n## Usage Guide\n\n### First Time Setup\n\n1. **Activate the plugin** - Database tables are created automatically\n2. **Configure settings** - Set file types and exclusions\n3. **Run initial scan** - Establish baseline checksums\n4. **Create schedules** - Set up automated scanning\n5. **Configure notifications** - Get alerts for changes\n\n### Monitoring Workflow\n\n1. **Dashboard Overview**: Check the dashboard widget for quick status\n2. **Review Changes**: When changes are detected, review the scan details\n3. **View Diffs**: See the pre-generated diffs for modified files\n4. **Investigate**: Determine if changes are authorized\n5. **Take Action**: Address any unauthorized modifications\n6. **Document**: Keep notes on legitimate changes\n7. **Manage History**: Use bulk operations to clean up old scan results\n\n### Best Practices\n\n- **Regular Scans**: Schedule daily scans during low-traffic periods\n- **Baseline After Updates**: Run manual scan after plugin/theme updates\n- **Monitor Critical Files**: Focus on PHP files in wp-admin and wp-includes\n- **Retention Policy**: Keep 30-90 days of history for compliance\n- **Email Alerts**: Configure notifications for production sites\n- **Exclude Dynamic**: Skip cache, uploads, and backup directories\n\n## Database Schema\n\nThe plugin creates five custom tables:\n\n### eightyfourem_integrity_scan_results\nStores scan metadata and statistics including scan duration, memory usage, and type\n\n### eightyfourem_integrity_file_records\nContains individual file checksums, change tracking, pre-generated diff content, and sensitive file flags\n\n### eightyfourem_integrity_scan_schedules\nManages multiple scan schedules with configurations and Action Scheduler integration\n\n### eightyfourem_integrity_checksum_cache\nTemporary cache for file content (48-hour TTL) used during diff generation at scan time\n\n### eightyfourem_integrity_logs\nSystem activity logging with levels (debug, info, warning, error), contexts, and user tracking\n\n## Security Considerations\n\n- **Capability Checks**: All admin actions require `manage_options` capability\n- **Nonce Verification**: CSRF protection on all forms and AJAX endpoints\n- **Data Sanitization**: Input validation and output escaping\n- **SQL Injection Prevention**: Prepared statements for all queries\n- **File Access Validation**: Path traversal prevention and sensitive file protection\n- **Sensitive File Protection**: No content storage or diffs for wp-config.php, .env, keys, etc.\n\n## Performance\n\n- **Batch Processing**: Handles large file sets efficiently\n- **Memory Management**: Streaming for large files\n- **Database Indexing**: Optimized queries for fast retrieval\n- **Progress Tracking**: Real-time feedback during scans via AJAX\n- **Configurable Limits**: Set max file size to skip large files\n- **Efficient Diff Generation**: Diffs generated at scan time, not on-demand\n- **Temporary Cache**: 48-hour content cache with automatic cleanup\n- **Background Processing**: Uses Action Scheduler for non-blocking operations\n\n## Troubleshooting\n\n### Common Issues\n\n**\"Action Scheduler not available\"**\n- Install WooCommerce or Action Scheduler plugin\n- Scheduling features require Action Scheduler library\n\n**Scan times out**\n- Increase PHP max_execution_time\n- Reduce max file size setting\n- Add more directories to exclusion list\n\n**Memory errors**\n- Increase PHP memory_limit\n- Exclude large directories like uploads\n- Reduce file size limit\n\n**No changes detected**\n- Verify file permissions are readable\n- Check excluded directories settings\n- Ensure scan completed successfully\n\n### Debug Mode\n\nEnable WordPress debug mode for detailed logging:\n\n```php\ndefine( 'WP_DEBUG', true );\ndefine( 'WP_DEBUG_LOG', true );\ndefine( 'WP_DEBUG_DISPLAY', false );\n```\n\nCheck logs at: `wp-content/debug.log`\n\n## Development\n\n### Project Structure\n\n```\n84em-file-integrity-checker/\n├── 84em-file-integrity-checker.php  # Main plugin file\n├── composer.json                     # Dependencies and autoloading\n├── package.json                      # NPM dependencies for build tools\n├── build.sh                          # Production build script\n├── phpunit.xml                      # Test configuration\n├── src/                             # Source code (PSR-4)\n│   ├── Admin/                       # Admin interface classes\n│   ├── CLI/                         # WP-CLI commands\n│   ├── Container.php                # Dependency injection\n│   ├── Core/                        # Core functionality\n│   ├── Database/                    # Data access layer\n│   ├── Plugin.php                   # Bootstrap class\n│   ├── Scanner/                     # File scanning logic\n│   ├── Security/                    # Security implementations\n│   ├── Services/                    # Business logic\n│   └── Utils/                       # Helper utilities\n├── tests/                           # PHPUnit tests\n│   ├── Unit/                        # Unit tests\n│   └── Integration/                 # Integration tests\n├── views/                           # Admin templates\n│   └── admin/                       # Admin page views\n└── assets/                          # Frontend resources\n    ├── css/                         # Stylesheets\n    └── js/                          # JavaScript\n```\n\n### Running Tests\n\n```bash\n# Run all tests\ncomposer test\n\n# Run unit tests only\ncomposer test:unit\n\n# Run integration tests\ncomposer test:integration\n\n# Run specific test file\nvendor/bin/phpunit tests/Unit/Scanner/ChecksumGeneratorTest.php\n```\n\n### Coding Standards\n\nThe plugin follows WordPress coding standards with modern PHP practices:\n\n- PSR-4 autoloading\n- Type declarations\n- Dependency injection\n- Repository pattern\n- Service layer pattern\n\n### Extending the Plugin\n\nThe plugin uses a container-based architecture for easy extension:\n\n```php\n// Register a custom service\n$container-\u003eregister( CustomService::class, function( $container ) {\n    return new CustomService(\n        $container-\u003eget( IntegrityService::class )\n    );\n});\n```\n\n## Support\n\nFor bug reports and feature requests, please use the GitHub issues tracker.\n\n## License\n\nThis plugin is licensed under the MIT License.\n\n## Credits\n\nDeveloped by [84EM](https://84em.com) - Remote WordPress Development Agency\n\n### Technologies Used\n\n- **Action Scheduler** - Reliable background processing\n- **Composer** - Dependency management\n- **PHPUnit** - Testing framework\n- **WordPress** - Content management system\n\n## Contributing\n\nWe welcome contributions! Please feel free to submit pull requests, report bugs, and suggest features through the GitHub repository.\n\n---\n\n**84EM File Integrity Checker** - Enterprise-grade file monitoring for WordPress\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F84emllc%2F84em-file-integrity-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F84emllc%2F84em-file-integrity-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F84emllc%2F84em-file-integrity-checker/lists"}