---
name: bijection-consent
description: "Evaluate and integrate the Consent component with Bijection."
---

# Consent

Append-only consent ledger (GDPR Art. 6/7) — record, withdraw, and gate consent per subject + purpose as a Bijection component

- Package: @bijectionhq/consent
- Category: Database & Backend
- Status: Reference
- License: MIT
- Bijection source (repository access required): https://github.com/bijectionhq/consent/tree/3ec34d269c378bf4106a91e133917a94df23eb52
- Upstream: https://github.com/vllnt/convex-consent/tree/591da416d12a343c791141a899e7338f3d9d347b
- Documentation: https://docs.bijection.com/components/using
- Directory: https://bijection.com/components/consent

## Get the source

Bijection repository access is required. Request access at https://bijection.com/contact.

```sh
git clone https://github.com/bijectionhq/consent.git
cd consent
git checkout 3ec34d269c378bf4106a91e133917a94df23eb52
```

## Before using this component

Read the package README at the recorded revision for setup, dependencies, and API examples. Upstream documentation describes the original package and may differ from the Bijection adaptation. This is a source candidate for evaluation. Catalog inclusion does not establish npm availability or runtime qualification. Check compatibility with your SDK and deployment before adoption. External providers run their own compute.

## Integration workflow

1. Read the source README and package manifest at the recorded revision.
2. Confirm the required SDK, dependency availability, and runtime compatibility.
3. Follow the component's documented setup and configuration. Never invent an npm install command from a catalog package name.
4. Keep credentials in the project's existing secret store.
5. Follow the project's execution rules for verification and report what was actually checked.

## Original upstream skill

The following guidance describes @vllnt/convex-consent. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


> Agents: read this skill fully before writing code that uses Consent Ledger. Follow the installation and configuration steps exactly.

# Consent Ledger

## Instructions

@vllnt/convex-consent stores consent decisions by subject and purpose, with a current-state view and a retained event history. Your application defines each purpose, policy version, and proof format.

record appends a decision and updates current state. check reports whether consent is granted and whether its version meets the required version. withdraw records withdrawal, while history exposes prior events with server timestamps. Retention controls remove eligible superseded events.

The host owns identity, access control, notices, consent collection, and processing behavior. A version mismatch does not display a prompt automatically; your app handles it. This component supports consent records and checks, not a guarantee that a product meets legal obligations.

Maintained by [bntvllnt](https://bntvllnt.com) at [VLLNT](https://vllnt.com). Find the author on [GitHub](https://github.com/bntvllnt) and [X](https://x.com/bntvllnt).

### Installation

```bash
npm install @vllnt/convex-consent
```

Current npm version: `@vllnt/convex-consent@0.1.0`

## Use cases

- Mobile apps: record a person’s analytics or personalization choice.
- Web products: check the current decision before optional data processing.
- Communications: retain a consent decision and its supporting evidence.
- Policy updates: detect older grants and present an updated choice in your own UI.

## How it works

record appends a decision and updates current state. check reports whether consent is granted and whether its version meets the required version. withdraw records withdrawal, while history exposes prior events with server timestamps. Retention controls remove eligible superseded events.

The host owns identity, access control, notices, consent collection, and processing behavior. A version mismatch does not display a prompt automatically; your app handles it. This component supports consent records and checks, not a guarantee that a product meets legal obligations.

## When NOT to use

- When a simpler built-in solution exists for your specific use case
- If you are not using Convex as your backend
- When the functionality provided by Consent Ledger is not needed

## Resources

- [npm package](https://www.npmjs.com/package/%40vllnt%2Fconvex-consent)
- [GitHub repository](https://github.com/vllnt/convex-consent)
- [Live demo](https://vllnt.com/)
- [Convex Components Directory](https://www.convex.dev/components/vllnt/convex-consent)
- [Convex documentation](https://docs.convex.dev)