UNPKG

secureshare-sdk

Version:

Enterprise privacy-preserving data sharing SDK with policy engine, audit logging, and compliance features

202 lines (157 loc) 4.83 kB
# SecureShare SDK Enterprise privacy-preserving data sharing SDK with policy engine, audit logging, and compliance features. ## Features - **Policy Engine**: Define and enforce data access policies - **Privacy Protection**: Tokenization, masking, and encryption - **Audit Logging**: Comprehensive audit trails for compliance - **Observer Effect**: Real-time anomaly detection and adaptive responses - **Multi-tenant Support**: Isolated data and policies per tenant - **Compliance Ready**: GDPR, HIPAA, CCPA support ## Installation ```bash npm install secureshare-sdk ``` ## Quick Start ```javascript const { SecureShare, PolicyEvaluator, AuditLogger } = require('secureshare-sdk'); // Create SDK instance const sdk = new SecureShare({ auditEnabled: true }); // Add a policy await sdk.addPolicy({ name: 'PII Protection', rules: [{ condition: "data.type == 'PII'", action: 'tokenize', constraints: ['user.role == "analyst"'] }] }); // Process data const result = await sdk.processData( { name: 'John Doe', email: 'john@example.com', type: 'PII' }, { user: { role: 'analyst' }, purpose: 'analysis' } ); console.log(result); // Output: { name: '***', email: '***', type: 'PII' } ``` ## API Reference ### Core Classes #### `SecureShare` Main SDK class for data processing and policy management. ```javascript const sdk = new SecureShare({ auditEnabled: true // Enable audit logging }); ``` **Methods:** - `addPolicy(policy)`: Add a new policy - `processData(data, context)`: Process data according to policies - `evaluateData(data, context)`: Evaluate data without processing - `getAuditLogs(filters)`: Retrieve audit logs #### `PolicyEvaluator` Evaluate policies against data and context. ```javascript const evaluator = new PolicyEvaluator(policy); const result = evaluator.evaluate(context); ``` #### `AuditLogger` Log audit events for compliance. ```javascript AuditLogger.logAuditEvent({ action: 'data_accessed', user: 'user123', timestamp: new Date(), details: { dataType: 'PII' } }); ``` ### Privacy Protection #### Tokenization ```javascript const { Tokenizer } = require('secureshare-sdk'); const token = Tokenizer.tokenize('sensitive-data'); const original = Tokenizer.detokenize(token); ``` #### Masking ```javascript const { Masking } = require('secureshare-sdk'); const masked = Masking.maskValue('john.doe@example.com'); // Output: '***@***.com' ``` #### Encryption ```javascript const { Encryption } = require('secureshare-sdk'); const encrypted = Encryption.encryptValue('sensitive-data'); const decrypted = Encryption.decryptValue(encrypted); ``` ### Policy Types ```javascript const policy = { name: 'Financial Data Policy', rules: [{ condition: "data.type == 'financial'", action: 'encrypt', constraints: ['user.role == "manager"'] }] }; ``` **Actions:** - `allow`: Allow access to data - `deny`: Deny access to data - `tokenize`: Replace with tokens - `mask`: Mask sensitive values - `encrypt`: Encrypt data - `log`: Log access without modification ## Examples ### Express.js Middleware ```javascript const express = require('express'); const { createSecureShareMiddleware } = require('secureshare-sdk'); const app = express(); const sdk = new SecureShare(); app.use('/api/data', createSecureShareMiddleware({ secureShare: sdk, policyContext: (req) => ({ user: req.user, purpose: req.query.purpose }) })); ``` ### Observer Effect Demo ```javascript const { ObserverEffectEngine } = require('secureshare-sdk'); const observer = new ObserverEffectEngine(db); const result = await observer.evaluateObserverEffect({ userId: 'user123', userRole: 'analyst', dataType: 'PII', accessPattern: 'bulk_export' }); ``` ## Configuration ### Environment Variables ```bash SECURESHARE_AUDIT_LOG=./audit.log SECURESHARE_JWT_SECRET=your-secret-key SECURESHARE_DB_URL=postgresql://user:pass@localhost/db ``` ### Database Support - PostgreSQL - Redis - MongoDB ## Compliance The SDK supports various compliance frameworks: - **GDPR**: Data protection and privacy - **HIPAA**: Healthcare data protection - **CCPA**: California consumer privacy - **SOC 2**: Security controls ## Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Add tests 5. Submit a pull request ## License MIT License - see LICENSE file for details. ## Support - Documentation: [GitHub Wiki](https://github.com/your-org/secureshare-sdk/wiki) - Issues: [GitHub Issues](https://github.com/your-org/secureshare-sdk/issues) - Discussions: [GitHub Discussions](https://github.com/your-org/secureshare-sdk/discussions)