npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rightis

v0.1.3

Published

Check identity rights (face, voice, persona) before your AI generates them — Rightis registry CLI

Readme

rightis

Use this before your code generates a real person's face, voice or persona. The Rightis CLI checks the public registry of identity rights from your terminal, and sets up a sandbox key for the @rightis/sdk.

Node 20 or later.

30-second quickstart

npx rightis check BR-XXXX-XXXX-XXXX --use "instagram ad" --asset face --public

--public asks the keyless resolve, so no account is needed. It prints the decision, the next_action and the per-scope states:

| decision | next_action.type | Meaning | |---|---|---| | allowed | request_license | Pre-approved scopes. Not free use: still request the licence. | | requires_approval | request_license | The holder decides each request. | | unspecified | request_license | The holder has said nothing. Not a yes. | | denied | stop | Refused. Do not generate. | | null | not_registered | Not in the registry. Not cleared. | | null | describe_use | No use described. Add use_type, ai_methods, asset_types. |

A failed lookup is not "not registered": on any error, do not generate.

Sandbox and keys

npx rightis login                       # 1. sign in in your browser
npx rightis init                        # 2. sandbox key into .env.local, plus rightis-example.mjs
npx rightis people                      # 3. list the sandbox sample people
npx rightis check BR-SANDBOX-... --use "social media ad" --asset face   # 4. first check
node --env-file=.env.local rightis-example.mjs                          # 5. the same check from code

Links

  • Developers: https://rightis.org/en/developers
  • Guide, generating real people: https://rightis.org/en/developers/guides/real-person-likeness
  • For AI coding assistants: Claude Code skill, Cursor rule, AGENTS.md (Codex and others, with a snippet for your own AGENTS.md or CLAUDE.md)
  • Source: https://github.com/Backers-Shawn/rightis-js

Commands

| Command | What it does | |---|---| | rightis login | Browser sign-in with OAuth 2.1 and PKCE on a loopback port. Stores the token in ~/.config/rightis/credentials.json (0600, directory 0700) and refreshes it automatically. --no-browser prints the URL instead. | | rightis logout | Revokes the tokens on the server and deletes the file. | | rightis whoami | Your organization, apps and keys (public key ids only). | | rightis init | Creates your organization if needed, issues a sandbox key, writes RIGHTIS_SECRET_KEY to .env.local, and writes an example. --yes, --force, --framework next, --org-name, --use-case, --website. | | rightis people | The sandbox sample people. Needs a brk_test_ key in the environment or .env.local. | | rightis check <rights_id> | Decision, next action and scopes. --use, --asset face\|voice\|style\|image (repeatable), --method image_generation\|video_generation\|voice_synthesis (repeatable), --training, --json, --public. |

Every command takes --base-url <url> (or RIGHTIS_API_URL) for a local server; http is accepted only for localhost.

How init treats your key

  • It checks with git check-ignore that .env.local is ignored before it creates a key. Outside a git repository, or if the file is not ignored or is already tracked, it refuses and tells you what to add to .gitignore.
  • It never replaces an existing RIGHTIS_SECRET_KEY without --force.
  • It never prints the key. It says only Wrote RIGHTIS_SECRET_KEY to .env.local.

Reading check

check exits 0 for every decision, because a decision is information. It exits 1 on errors and 2 on bad arguments.

allowed is not free use: a licence request in those scopes is approved without the holder reviewing it, but you still request it (next_action: request_license). not_registered is not permission. A sandbox key only knows the sandbox people; use --public to check a real Rights ID with the keyless resolve.

License

MIT