secureshare-sdk
v1.0.0
Published
Enterprise privacy-preserving data sharing SDK with policy engine, audit logging, and compliance features
Maintainers
Readme
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
npm install secureshare-sdkQuick Start
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: '[email protected]', 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.
const sdk = new SecureShare({
auditEnabled: true // Enable audit logging
});Methods:
addPolicy(policy): Add a new policyprocessData(data, context): Process data according to policiesevaluateData(data, context): Evaluate data without processinggetAuditLogs(filters): Retrieve audit logs
PolicyEvaluator
Evaluate policies against data and context.
const evaluator = new PolicyEvaluator(policy);
const result = evaluator.evaluate(context);AuditLogger
Log audit events for compliance.
AuditLogger.logAuditEvent({
action: 'data_accessed',
user: 'user123',
timestamp: new Date(),
details: { dataType: 'PII' }
});Privacy Protection
Tokenization
const { Tokenizer } = require('secureshare-sdk');
const token = Tokenizer.tokenize('sensitive-data');
const original = Tokenizer.detokenize(token);Masking
const { Masking } = require('secureshare-sdk');
const masked = Masking.maskValue('[email protected]');
// Output: '***@***.com'Encryption
const { Encryption } = require('secureshare-sdk');
const encrypted = Encryption.encryptValue('sensitive-data');
const decrypted = Encryption.decryptValue(encrypted);Policy Types
const policy = {
name: 'Financial Data Policy',
rules: [{
condition: "data.type == 'financial'",
action: 'encrypt',
constraints: ['user.role == "manager"']
}]
};Actions:
allow: Allow access to datadeny: Deny access to datatokenize: Replace with tokensmask: Mask sensitive valuesencrypt: Encrypt datalog: Log access without modification
Examples
Express.js Middleware
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
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
SECURESHARE_AUDIT_LOG=./audit.log
SECURESHARE_JWT_SECRET=your-secret-key
SECURESHARE_DB_URL=postgresql://user:pass@localhost/dbDatabase 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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- Documentation: GitHub Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
