OpenSPP Documentation v2.0

⌘ K
  • Products
    • OpenSPP SP-MIS
    • OpenSPP Social Registry
    • OpenSPP Farmer Registry
    • OpenSPP DRIMS
    • Features
      • Unified registry
      • GIS & land management
      • Program management
      • Eligibility & targeting
      • Payment & disbursement
      • In-Kind benefits
      • Data integration & APIs
      • Change management
      • Grievance redress
    • What's new in OpenSPP v2
  • Learn
    • Registry
    • Programs
    • Cycles
    • Eligibility
    • Compliance
    • Entitlements
    • Payments
    • Deduplication
    • Change requests
  • Get started
    • Installing OpenSPP
      • Docker installation
    • Module installation
      • SP-MIS installation
      • Social Registry installation
      • Farmer Registry installation
    • Explore OpenSPP
    • Your first household
      • Step 1: Access the Registry
      • Step 2: Create a Household
      • Step 3: Add members
    • Your first program
      • Step 1: Access the program section
      • Step 2: Create your first social protection program
      • Step 3: Import and enroll beneficiaries
      • Step 4: Understanding program cycles
      • Step 5: Distribute entitlements
    • From Proof of Concept to Pilot
  • User guide
    • Getting started
      • Navigating the OpenSPP interface
      • Administrating role-based access
    • Registry
      • Register an individual
      • Register a group
      • Search and filter registrants
      • Import registrant data
      • Export registrant data
    • Change Requests
      • Submit a change request
      • Review a change request
      • Change request types
    • Case management
      • Core case management workflow
    • Programs
      • Create programs
      • Manage in-kind products
      • Work with program cycles
      • Enroll beneficiaries
      • Allocate funds to programs
      • Manage entitlements
    • Payments
      • View Service Points
    • Approvals
      • Review and Approve Requests
    • Grievance Redress Mechanism (GRM)
      • Manage grievances
    • Geographic Information System (GIS)
      • View maps and generate reports
    • Reference
      • Geographic Areas
      • Vocabularies (Code Lists)
  • Configuration guide
    • OpenSPP Studio
      • Studio Overview
      • Custom Fields (Registry Field Builder)
      • Event Type Designer
      • Change Request Builder
    • CEL expressions
      • CEL quick start
      • CEL syntax reference
      • Variables
      • CEL cookbook
      • CEL troubleshooting
    • Eligibility rules
      • CEL expressions for eligibility
      • Geographic targeting
      • Expression templates
      • Testing eligibility rules
      • Advanced eligibility configuration
    • Entitlement formulas
      • Cash calculations
      • In-kind and basket entitlements
      • Formula library
      • Dynamic entitlements
      • Conditional logic
    • Vocabulary System
      • Vocabulary Overview
      • Standard Vocabularies
      • Vocabulary Profiles
      • Custom Vocabularies
    • Variables & Indicators
      • Variables Overview
      • Creating Variables
      • Variable Types
      • Using Variables in CEL
    • Event Data
      • Event Data Overview
      • Configuring Event Types
      • Defining Event Fields
    • Change request types
      • Overview
      • Creating change request types
      • Field mappings
      • Conflict and duplicate detection
      • Common configuration patterns
      • Custom detail models
      • Troubleshooting
    • Consent configuration
      • Consent management overview
      • Configuring privacy notices
      • Recording consent
      • API consent filtering
    • Role configuration
      • Access control overview
      • Assigning roles to users
      • Predefined roles
      • Creating custom roles
      • Troubleshooting
  • Developer guide
    • Development Setup
    • Architecture
      • CEL Internals
    • Extending OpenSPP
      • Customize Program
      • Customize Cycle
    • API V2
      • API V2 Overview
      • Authentication
      • External Identifiers
      • Consent Management
      • API Resources
      • Search and Filtering
      • Batch Operations
      • Error Handling
      • Studio API Integration
    • DCI Integration
      • DCI Overview
      • OpenSPP as DCI Server
      • OpenSPP as DCI Client
      • DCI Protocol Details
    • Verifiable Credentials
      • Verifiable Credentials Overview
      • W3C Verifiable Credentials Data Model
      • OpenID for Verifiable Credential Issuance
      • Verifiable Credentials Implementation Guide
    • Other Integrations
  • Operations guide
    • Deployment
      • Production Hardening
    • Security
      • Access Control
      • Data Classification
      • PII Encryption
      • Key Management
      • Audit Logging
      • Security Scanning
    • Storage
    • Backup & Recovery
    • Monitoring & Alerts
  • Reference
    • Modules Reference
      • Alerts
      • Analytics
      • API V2
        • Change Request
        • Cycles
        • Data
        • Entitlements
        • GIS API
        • Products
        • Service Points
        • Simulation API
        • Vocabulary
      • Approval Workflows
      • Area Management
      • HDX COD Integration
      • Attachment Antivirus Scan
      • Audit
      • Banking / Bank Details
      • Base (Common)
      • Base Settings
      • Branding Kit
      • Case Management Base
        • CEL Rules
        • Demo Data
        • Entitlements Integration
        • Graduation Integration
        • Programs Integration
        • Registry Integration
        • Session Integration
      • CEL Domain Query Builder
        • Event Data Integration
        • Registry Search
        • Vocabulary Integration
        • Expression Widget
      • Change Request V2
        • Advanced Types
        • Base Types
      • QR Credentials (Claim 169)
      • Consent
      • Custom Fields
      • DCI Core
        • Client
        • Client - CRVS
        • Client - Disability
        • Client - IBR
        • Demo
        • Server
      • Demo
      • Disability Registry
      • Document Management System
      • DRIMS - Disaster Response Inventory Management
        • Sri Lanka Configuration
        • Sri Lanka Demo
      • Encryption: Base
      • Event Data
      • Farmer Registry
        • Change Request Types
        • Dashboard
        • Demo
        • Vocabularies
      • GIS
        • Indicators
        • Reports
        • Reports - Programs
        • Registrant GIS
      • Graduation Management
      • Grievance Redress Mechanism
        • Case Link
        • CEL Rules
        • Demo Data
        • Programs Integration
        • Registry Integration
      • Hazard & Emergency Management
        • Programs Integration
      • Hide Menus Base
      • HXL Integration
        • Area Integration
      • Import Match
      • Indicator
      • Indicator Studio
      • Irrigation
      • Key Management
      • Land Record
      • Metric
      • Metric Service
      • MIS Demo V2
      • API: Oauth
      • Programs
      • Registrant GIS
      • Registry
      • Registry Group Hierarchy
      • Registry Search Portal
      • Scoring
        • Programs Bridge
      • Security
      • Service Points
      • Session Tracking
      • Targeting Simulation
      • Source Tracking
      • Starter: Farmer Registry
      • Starter: Social Registry
      • Starter: SP-MIS
      • Storage Backend
      • Studio
        • API v2 Integration
        • Change Requests
        • Events
      • User Roles
      • Versioning
      • Vocabulary
      • Theme
    • Vocabulary Reference
    • Humanitarian Terms Glossary
    • OpenSPP Glossary
  • Community and support
    • Contributing
    • Internationalization and Localization
    • Modules Maturity Levels and Development Status Policy
    • Module Lifecycle - Maintainer Role Policy
    • Contributor Covenant Code of Conduct
    • OpenSPP Vulnerability Disclosure Policy
    • Licensing

openspp.org openspp.org

Consent – Reference
  • repository
  • open issue
  • suggest edit
  • .md
Contents
  • Overview
  • Standards Compliance
  • Module Dependencies
  • Key Features
    • Consent Record Structure
    • Consent Status Lifecycle
    • Two-Mode Consent Matching
    • DPV Taxonomies
    • Collection Methods
  • Data Models
  • Security Model
  • Integration
    • Checking Consent Programmatically
    • Export Formats
  • User Interface

Consent

Contents

  • Overview
  • Standards Compliance
  • Module Dependencies
  • Key Features
    • Consent Record Structure
    • Consent Status Lifecycle
    • Two-Mode Consent Matching
    • DPV Taxonomies
    • Collection Methods
  • Data Models
  • Security Model
  • Integration
    • Checking Consent Programmatically
    • Export Formats
  • User Interface

Consent#

Module: spp_consent

Overview#

This reference is for implementers and sys admins who need to understand consent management capabilities and configuration options.

The Consent module provides standards-compliant consent management for social protection programs. It tracks explicit consent from individuals and groups, supporting both GDPR compliance and international data privacy standards.

Use this module when your program needs to:

  • Record and track beneficiary consent for data collection and sharing

  • Support category-based consent (e.g., "share with all NGOs")

  • Maintain audit trails for accountability requirements

  • Export consent records in interoperable formats

Standards Compliance#

Standard

Description

ISO/IEC TS 27560:2023

Consent record information structure

ISO/IEC 29184:2020

Online privacy notices and consent

W3C DPV v2

Data Privacy Vocabulary for semantics

GDPR

Articles 6, 7, and 9 compliance

Module Dependencies#

Dependency

Purpose

base

Odoo core framework

mail

Communication and activity tracking

spp_registry

Consolidated registry management for individuals, groups,...

spp_security

Central security definitions for OpenSPP modules

Key Features#

Consent Record Structure#

Implements ISO 27560's four-section structure:

Section

Contents

Header/Metadata

External ID, schema version, timestamps

Parties

Data subject, controller, recipients, delegation

Processing

Purposes, legal basis, data categories, operations

Consent Specifics

Status, validity period, withdrawal mechanism

Consent Status Lifecycle#

Status

Description

Requested

Consent has been requested

Given

Consent actively granted

Renewed

Consent renewed after expiry

Refused

Consent explicitly refused

Withdrawn

Previously given consent withdrawn

Expired

Consent validity period has ended

Invalidated

Consent invalidated for other reasons

Two-Mode Consent Matching#

Specific Organization Mode: Traditional consent where beneficiaries explicitly consent to named organizations.

Category-Based Mode: Flexible consent where beneficiaries consent to organization categories:

Example

"I consent to share with all NGOs and UN agencies"

"I consent to share with government agencies but not private sector"

DPV Taxonomies#

Purpose Hierarchy:

Category

Examples

Service Provision

Enrollment, benefit delivery

Personalisation

Targeting, recommendations

Research

Analytics, impact evaluation

Personal Data Categories:

Type

Examples

Regular

Name, address, phone

Sensitive (Art.9)

Health, biometric, racial/ethnic data

Processing Operations:

Operation

Risk Level

Collect

Low

Store

Low

Use

Medium

Share

High

Delete

Low

Collection Methods#

Method

Description

Written

Signed paper form

Verbal Witnessed

Verbal consent with witness

Electronic

Digital consent via system

Biometric

Fingerprint or other biometric

Data Models#

Model

Purpose

spp.consent

Main consent record (ISO 27560)

spp.consent.history

Version history for audit trail

spp.consent.purpose

DPV-aligned purpose taxonomy

spp.consent.personal.data

DPV-aligned data categories

spp.consent.processing

DPV-aligned processing operations

spp.consent.notice

ISO 29184 privacy notices

spp.consent.org.type

Organization type categories

spp.consent.mixin

Mixin to add consent tracking to models

Security Model#

Follows the three-tier access control pattern:

Role

Permissions

Viewer

Read-only access to consent records

Officer

Create and modify consent records

Manager

Full CRUD including taxonomy configuration

Integration#

Checking Consent Programmatically#

Use the check_consent() method to validate consent before data sharing:

consent_valid = registrant.check_consent(
    purpose='service_provision',
    recipient_org_type='ngo'
)

Export Formats#

Format

Description

JSON-LD

W3C standard with DPV vocabulary

Consent Receipt

ISO 27560 standardized receipt

User Interface#

Feature

Description

Recording Wizard

User-friendly consent recording with filtering

Expired Consent View

Identify and manage expired consents

Bulk Recording

Record consent for multiple registrants

previous

QR Credentials (Claim 169)

next

Custom Fields

By The OpenSPP community
© Copyright OpenSPP.

The text and illustrations in this website are licensed by the OpenSPP Project under a Creative Commons Attribution 4.0 International license. All other trademarks are owned by their respective owners.