├── docs
│   ├── archive
│   │   ├── ADMIN_DASHBOARD_DESIGN.md
│   │   ├── FR_Missing_Features.md
│   │   ├── FR1.md
│   │   ├── Implementation-Plan-Dashboard-V2.md
│   │   └── vm-migration-log.md
│   ├── guides
│   │   ├── admin-sql-cookbook.md
│   │   ├── frontend-best-practices.md
│   │   ├── LLM_TESTING_PLAYBOOK.md
│   │   └── MAINTENANCE_PLAYBOOK.md
│   ├── product
│   │   ├── marketing
│   │   │   └── TheZero-BudgetLaunchPlan.md
│   │   └── roadmap.md
│   ├── rfc
│   │   ├── 09-selective-domain-scanning-rfc.md
│   │   ├── 10-smart-scan-retry-mechanism.md
│   │   ├── 11-distributed-inspection-scan-rfc.md
│   │   ├── 12-comprehensive-scan-resiliency-rfc.md
│   │   ├── 13-proactive-usage-limits-ui-rfc.md
│   │   ├── 14-component-driven-dashboard-ux-rfc.md
│   │   ├── 15-configurable-inspection-proxy-rfc.md
│   │   ├── 16-tanstack-query-integration-rfc.md
│   │   ├── 17-proxy-waterfall-strategy-rfc.md
│   │   └── 18-gated-feedback-form-rfc.md
│   ├── tech
│   │   ├── 01-architecture-overview.md
│   │   ├── 02-backend-architecture.md
│   │   ├── 03-frontend-architecture.md
│   │   ├── 04-database-schema.md
│   │   ├── 05-authentication-flow.md
│   │   ├── 06-scanning-and-analysis-flow.md
│   │   ├── 07-admin-dashboard.md
│   │   └── 08-production-vm-deployment.md
│   └── RESTORATION_GUIDE.md
├── linkpatrol-backend
│   ├── alembic
│   │   ├── versions
│   │   │   ├── 27ddac54d386_initial_migration.py
│   │   │   ├── d129578389e0_add_test_column_to_user_model.py
│   │   │   └── d2dd54136677_remove_test_column_from_user_model.py
│   │   ├── env.py
│   │   ├── README
│   │   └── script.py.mako
│   ├── app
│   │   ├── api
│   │   │   ├── v1
│   │   │   │   ├── endpoints
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── admin.py
│   │   │   │   │   ├── affiliate_tags.py
│   │   │   │   │   ├── auth.py
│   │   │   │   │   ├── contact.py
│   │   │   │   │   ├── dashboard.py
│   │   │   │   │   ├── health.py
│   │   │   │   │   ├── issues.py
│   │   │   │   │   ├── properties.py
│   │   │   │   │   ├── scans.py
│   │   │   │   │   ├── tasks.py
│   │   │   │   │   └── users.py
│   │   │   │   ├── __init__.py
│   │   │   │   └── schemas.py
│   │   │   ├── __init__.py
│   │   │   └── deps.py
│   │   ├── core
│   │   │   ├── __init__.py
│   │   │   ├── celery_app.py
│   │   │   ├── config.py
│   │   │   └── logging_config.py
│   │   ├── db
│   │   │   ├── __init__.py
│   │   │   ├── base.py
│   │   │   ├── init_db.py
│   │   │   └── models.py
│   │   ├── models
│   │   │   └── inspection.py
│   │   ├── services
│   │   │   ├── __init__.py
│   │   │   ├── analyzer.py
│   │   │   ├── html_preprocessor.py
│   │   │   ├── link_inspector.py
│   │   │   ├── llm_detector.py
│   │   │   ├── rule_based_detector.py
│   │   │   ├── website_crawler.py
│   │   │   └── youtube_crawler.py
│   │   ├── tasks
│   │   │   ├── __init__.py
│   │   │   ├── cleanup.py
│   │   │   ├── context_analysis.py
│   │   │   ├── discovery.py
│   │   │   ├── inspection.py
│   │   │   ├── retry.py
│   │   │   └── utils.py
│   │   ├── __init__.py
│   │   └── main.py
│   ├── deploy
│   │   ├── service-web.yaml
│   │   └── service-worker.yaml
│   ├── tests
│   │   ├── test_link_inspector_integration.py
│   │   ├── test_main.py
│   │   └── test_scans_api.py
│   ├── vm-deploy
│   │   ├── deploy.sh
│   │   ├── docker-compose.yml
│   │   └── linkpatrol.service
│   ├── alembic.ini
│   ├── celery_runner.py
│   ├── cleanup_stuck_scans.py
│   ├── cloudbuild.yaml
│   ├── Dockerfile
│   ├── manage_user.py
│   ├── requirements.txt
│   └── run.sh
├── linkpatrol-frontend
│   ├── public
│   │   ├── images
│   │   │   ├── 1.png
│   │   │   ├── 2.png
│   │   │   ├── 3.png
│   │   │   ├── 4.png
│   │   │   ├── 5.png
│   │   │   ├── linkpatrol.ico
│   │   │   └── og-hero-image.png
│   │   └── HOW_TO_USE.md
│   ├── src
│   │   ├── api
│   │   │   └── apiClient.js
│   │   ├── components
│   │   │   ├── dashboard_v2
│   │   │   │   ├── IssueSummaryWidget.jsx
│   │   │   │   ├── PriorityIssuesWidget.jsx
│   │   │   │   ├── ScanConfigurationPanel.jsx
│   │   │   │   ├── ScanProgressWidget.jsx
│   │   │   │   └── ScanWorkflowWizard.jsx
│   │   │   ├── landing-page
│   │   │   │   ├── ContactSection.jsx
│   │   │   │   ├── CtaSection.jsx
│   │   │   │   ├── FaqSection.jsx
│   │   │   │   ├── FeaturesSection.jsx
│   │   │   │   ├── Footer.jsx
│   │   │   │   ├── Header.jsx
│   │   │   │   ├── HeroSection.jsx
│   │   │   │   ├── PricingSection.jsx
│   │   │   │   ├── ProblemSection.jsx
│   │   │   │   ├── SignInModal.jsx
│   │   │   │   ├── SocialProof.jsx
│   │   │   │   ├── SolutionSection.jsx
│   │   │   │   └── TestimonialsSection.jsx
│   │   │   ├── AccountUsageMenu.jsx
│   │   │   ├── AddPropertyModal.jsx
│   │   │   ├── AdminRoute.jsx
│   │   │   ├── AnalyticsTracker.jsx
│   │   │   ├── BannerDisplay.jsx
│   │   │   ├── FeedbackGate.jsx
│   │   │   ├── FeedbackModal.jsx
│   │   │   ├── HelpModal.jsx
│   │   │   ├── ImpersonationBanner.jsx
│   │   │   ├── IssueFilterBar.jsx
│   │   │   ├── OccurrencesCell.jsx
│   │   │   ├── ProfileMenu.jsx
│   │   │   ├── ProjectSelector.jsx
│   │   │   ├── PropertyDisplay.jsx
│   │   │   ├── ProtectedRoute.jsx
│   │   │   ├── ResponsiveDataTable.jsx
│   │   │   ├── SegmentedProgressBar.jsx
│   │   │   ├── Sidebar.jsx
│   │   │   └── TagConfirmationWidget.jsx
│   │   ├── context
│   │   │   ├── AuthContext.jsx
│   │   │   ├── BannerContext.jsx
│   │   │   ├── ConfigContext.jsx
│   │   │   ├── FeedbackModalContext.jsx
│   │   │   └── HelpModalContext.jsx
│   │   ├── hooks
│   │   │   └── queries.js
│   │   ├── pages
│   │   │   ├── AdminDashboardPage.jsx
│   │   │   ├── AffiliateTagsPage.jsx
│   │   │   ├── DashboardPageV2.jsx
│   │   │   ├── IssuesPage.jsx
│   │   │   ├── LandingPage.jsx
│   │   │   ├── PropertyManagementPage.jsx
│   │   │   ├── ResultsPage.jsx
│   │   │   ├── ScanConfigurationPage.jsx
│   │   │   ├── ScanManagementPage.jsx
│   │   │   ├── UsageAndLimitsPage.jsx
│   │   │   └── UserManagementPage.jsx
│   │   ├── App.jsx
│   │   ├── App.test.jsx
│   │   ├── constants.jsx
│   │   ├── firebase.js
│   │   ├── index.css
│   │   ├── main.jsx
│   │   └── setupTests.js
│   ├── index.html
│   ├── package.json
│   ├── postcss.config.js
│   ├── tailwind.config.js
│   ├── vercel.json
│   └── vite.config.js
├── llm_testing_tools
│   ├── fetch_url.py
│   └── test_inspector.py
├── n8n
│   ├── workflows
│   │   ├── blog_generation.json
│   │   ├── content_generation_workflow.json
│   │   └── content_publishing_workflow.json
│   └── docker-compose.yml
├── 1
├── backfill_issues.sh
├── backup_db.sh
├── backup.env
├── clean_scans.sh
├── cleanup_db.sh
├── cloudbuild-vm.yaml
├── content-pipeline.csv
├── GEMINI.md
├── linkpatrol_backup.sql
├── pull_prod_db.sh
├── reinit_prod_db.sh
├── start.sh
├── stop.sh
├── teardown.sh
└── truncate_all_tables.sql