Skip to content

cmorten/permission-guard

Repository files navigation

Permission Guard

A zero-dependency, minimal permission guard for Deno to prevent overly permissive execution of your applications.

Current version Current test status Deno docs PRs are welcome permission-guard issues permission-guard stars permission-guard forks permission-guard license permission-guard is maintained Published on nest.land

permission-guard latest /x/ version permission-guard dependency count permission-guard dependency outdatedness permission-guard cached size


Table of Contents

Getting Started

import { guard } from "https://deno.land/x/permissionGuard@2.4.0/mod.ts";

await guard();

console.log("Execute my code...!");

Installation

This is a Deno module available to import direct from this repo and via the Deno Registry.

Before importing, download and install Deno.

You can then import Permission Guard straight into your project:

import { guard } from "https://deno.land/x/permissionGuard@2.4.0/mod.ts";

Permission Guard is also available on nest.land, a package registry for Deno on the Blockchain.

import { guard } from "https://x.nest.land/permissionGuard@2.4.0/mod.ts";

Note: Permission Guard makes use of the unstable Deno Permissions API which requires --unstable to be passed in the Deno run command. You can use Permission Guard in applications and not provide the --unstable flag, Permission Guard will simply return as a no-op and not provide any defenses.

Features

  • Protection against unnecessary top-level permissions. Including ability to revoke undesired permissions.
  • Protection against missing required permissions.
  • Recommendations where permissions could be better scoped (if log: true provided).
  • Useful logs detailing the missing or insecure permissions (if log: true provided).

Documentation

Examples

To run the examples, you have two choices:

  1. Clone the Permission Guard repo locally:

    git clone git://github.com/asos-craigmorten/permission-guard.git --depth 1
    cd permission-guard

    Then run the example you want:

    deno run --unstable ./examples/defaults/index.ts

All the examples contain example commands in their READMEs to help get you started.

Contributing

Contributing guide


License

Permission Guard is licensed under the MIT License.

Sponsor this project

 

Packages

No packages published

Contributors 2

  •  
  •