
Company News
Meet the Socket Team at RSAC and BSidesSF 2026
Join Socket for live demos, rooftop happy hours, and one-on-one meetings during BSidesSF and RSA 2026 in San Francisco.
promise-policies
Advanced tools
A promise based ACL framework.
const DefaultPolicy = policy.createDefaultPolicy(['create','read']);
class UserPolicy extends DefaultPolicy {
static read(subject, context) {
if (subject.id === context.user.id) {
return policy.CODES.ALLOW;
}
return policy.CODES.DENY;
}
static create(subject, context) {
if (context.user.is_admin) {
return policy.CODES.ALLOW;
}
return policy.CODES.DENY;
}
}
const policies = {
'User': UserPolicy
};
const resolver = policy.createResolver(function(subject) {
const name = subject.name || subject.constructor.name;
return policies[name];
});
resolver.resolve(new User({id: 1}), 'read', { user: { id: 1} }).then((code) => {
console.log(code); // should be ALLOW
});
resolver.resolve(new User({id: 1}), 'read', { user: { id: 2} }).then((code) => {
console.log(code); // should be DENY
});
resolver.resolve(User, 'create', { user: { id: 1, is_admin: true} }).then((code) => {
console.log(code); // should be ALLOW
});
resolver.resolve(User, 'create', { user: { id: 1, is_admin: false} }).then((code) => {
console.log(code); // should be DENY
});
class UserPolicy extends DefaultPolicy {
static read(subject, context) {
if (subject.id === context.user.id) {
return Promise.resolve(policy.CODES.ALLOW);
}
return Promise.resolve(policy.CODES.DENY);
}
}
create
read
update
delete
FAQs
A promise based ACL policy framework
We found that promise-policies demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Join Socket for live demos, rooftop happy hours, and one-on-one meetings during BSidesSF and RSA 2026 in San Francisco.

Research
/Security News
Malicious Packagist packages disguised as Laravel utilities install an encrypted PHP RAT via Composer dependencies, enabling remote access and C2 callbacks.

Research
/Security News
OpenVSX releases of Aqua Trivy 1.8.12 and 1.8.13 contained injected natural-language prompts that abuse local AI coding agents for system inspection and potential data exfiltration.