Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tersesystems/ocaps
Object capability (ocap) tools and macros for Scala.
https://github.com/tersesystems/ocaps
access capabilities capability ocap scala security
Last synced: 2 months ago
JSON representation
Object capability (ocap) tools and macros for Scala.
- Host: GitHub
- URL: https://github.com/tersesystems/ocaps
- Owner: tersesystems
- License: apache-2.0
- Created: 2018-01-11T04:08:26.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-10-07T17:53:45.000Z (over 1 year ago)
- Last Synced: 2024-04-14T09:01:07.215Z (9 months ago)
- Topics: access, capabilities, capability, ocap, scala, security
- Language: JavaScript
- Homepage: https://tersesystems.github.io/ocaps
- Size: 3.35 MB
- Stars: 17
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# ocaps
*ocaps* is a library for working with [object capabilities](https://en.wikipedia.org/wiki/Object-capability_model) in Scala.
- *Revoker* / *Revocable* classes for revoking capabilities.
- *Brand* for sealing and unsealing capabilities
- *RevocableMembrane* for revocation as an effect.
- Macros for *composition*, *attenuation*, *revocable* and *modulating* capabilities.
- No libraries dependencies (other than `scala-reflect`)Documentation can be found at [https://tersesystems.github.io/ocaps/](https://tersesystems.github.io/ocaps/)
Examples can be found at [http://tersesystems.github.io/ocaps/examples/](http://tersesystems.github.io/ocaps/examples/)
A guide to object capabilities can be found at [http://tersesystems.github.io/ocaps/guide/](http://tersesystems.github.io/ocaps/guide/)
The `ocaps` library was presented as part of the [Security in Scala](https://na.scaladays.org/schedule/security-with-scala-refined-types-and-object-capabilities) presentation at [Scaladays NYC 2018](https://na.scaladays.org/). [Slides](https://tersesystems.github.io/ocaps/slides/) and [video](https://slideslive.com/38908776/security-with-scala-refined-types-and-object-capabilities?subdomain=false) are available.
## Usage
There is currently no compiled package available. RIP Bintray.
Add the following to `build.sbt`
```
// where latestVersion is defined up top
libraryDependencies += "ocaps" %% "ocaps-core" % latestVersion
```## Releasing
To release a new version of `ocaps`:
```
sbt release
```## Updating Website
To update the website, change `version.sbt` so it's the release version and not snapshot (there should be a way to do this automatically) and then do the following:
```
sbt
> clean
> makeSite
> previewSite
> ghpagesPushSite
```