{"id":21177621,"url":"https://github.com/tersesystems/ocaps","last_synced_at":"2026-03-08T18:37:52.425Z","repository":{"id":51333520,"uuid":"117048530","full_name":"tersesystems/ocaps","owner":"tersesystems","description":"Object capability (ocap) tools and macros for Scala.","archived":false,"fork":false,"pushed_at":"2024-12-03T22:15:24.000Z","size":3753,"stargazers_count":18,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-14T18:41:48.980Z","etag":null,"topics":["access","capabilities","capability","ocap","scala","security"],"latest_commit_sha":null,"homepage":"https://tersesystems.github.io/ocaps","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tersesystems.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-01-11T04:08:26.000Z","updated_at":"2025-02-08T14:01:12.000Z","dependencies_parsed_at":"2024-01-25T17:05:04.189Z","dependency_job_id":"533800b6-2d1f-4e0d-ae7b-711364ef02cc","html_url":"https://github.com/tersesystems/ocaps","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/tersesystems/ocaps","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tersesystems%2Focaps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tersesystems%2Focaps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tersesystems%2Focaps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tersesystems%2Focaps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tersesystems","download_url":"https://codeload.github.com/tersesystems/ocaps/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tersesystems%2Focaps/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30269178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T17:53:40.517Z","status":"ssl_error","status_checked_at":"2026-03-08T17:53:40.101Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["access","capabilities","capability","ocap","scala","security"],"created_at":"2024-11-20T17:16:37.646Z","updated_at":"2026-03-08T18:37:52.406Z","avatar_url":"https://github.com/tersesystems.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ocaps\n\n*ocaps* is a library for working with [object capabilities](https://en.wikipedia.org/wiki/Object-capability_model) in Scala.\n\n- *Revoker* / *Revocable* classes for revoking capabilities.\n- *Brand* for sealing and unsealing capabilities\n- *RevocableMembrane* for revocation as an effect.\n- Macros for *composition*, *attenuation*, *revocable* and *modulating* capabilities.\n- No libraries dependencies (other than `scala-reflect`)\n\nDocumentation can be found at [https://tersesystems.github.io/ocaps/](https://tersesystems.github.io/ocaps/)\n\nExamples can be found at [http://tersesystems.github.io/ocaps/examples/](http://tersesystems.github.io/ocaps/examples/)\n\nA guide to object capabilities can be found at [http://tersesystems.github.io/ocaps/guide/](http://tersesystems.github.io/ocaps/guide/)\n\n\nThe `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.\n\n## Usage\n\nThere is currently no compiled package available.  RIP Bintray.\n\nAdd the following to `build.sbt`\n\n```\n// where latestVersion is defined up top\nlibraryDependencies += \"ocaps\" %% \"ocaps-core\" % latestVersion\n```\n\n## Releasing\n\nTo release a new version of `ocaps`:\n\n```\nsbt release\n```\n\n## Updating Website\n\nTo 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:\n\n```\nsbt\n\u003e clean \n\u003e makeSite\n\u003e previewSite\n\u003e ghpagesPushSite\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftersesystems%2Focaps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftersesystems%2Focaps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftersesystems%2Focaps/lists"}