OpenSPP Documentation v2.0

⌘ K
  • Products
    • OpenSPP SP-MIS
      • Modules included
      • Relevant user guides
      • Relevant configuration guides
      • Demo module
    • OpenSPP Social Registry
      • Modules included
      • Relevant user guides
      • Relevant configuration guides
    • OpenSPP Farmer Registry
      • Modules included
      • Relevant user guides
      • Relevant configuration guides
    • OpenSPP DRIMS
      • Modules included
      • Relevant user guides
      • Relevant configuration guides
    • OpenSPP Disability Registry
      • Modules included
      • Relevant user guides
      • Relevant configuration guides
    • Custom module combinations
    • Features in OpenSPP
      • Unified registry
      • GIS & land management
      • Program management
      • Eligibility & targeting
      • Payment & disbursement
      • In-Kind benefits
      • Data integration & APIs
      • Change management
      • Grievance redress
  • Learn
    • Registry
    • Programs
    • Cycles
    • Eligibility
    • Compliance
    • Entitlements
    • Payments
    • Deduplication
    • Change requests
  • Get started
    • Installing OpenSPP
      • Docker installation
    • Module installation
      • General module installation
      • SP-MIS installation
      • Social Registry installation
      • Farmer Registry installation
      • DRIMS installation
      • Disability Registry installation
    • Try our products
      • Try OpenSPP SP-MIS
        • Install SP-MIS demo data
        • SP-MIS Stories
        • SP-MIS Demo scenarios
    • Choosing your configuration
    • Configuration vs customization
    • 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
      • Manage farm 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
    • DRIMS User Guide
      • Understand the Dashboard
      • Receive a Donation
      • Manage Inventory
      • Submit a Relief Request
      • Process a Dispatch
      • Handle Returns
    • Grievance Redress Mechanism (GRM)
      • Manage grievances
    • Geographic Information System (GIS)
      • View maps and generate reports
    • Reference
      • Geographic Areas
      • Vocabularies (Code Lists)
  • Configuration guide
    • Alerts
      • Alerts overview
    • Approval workflows
      • Approval workflows overview
      • Approval tiers
      • Batch approvals and freeze periods
    • Area management
      • Area management overview
      • HDX COD integration
    • Audit configuration
      • Audit configuration overview
      • Audit backends
    • Banking
      • Banking overview
    • Case management
      • Case management overview
      • Case stages
      • Case teams
    • CEL expressions
      • CEL quick start
      • CEL syntax reference
      • Variables
      • CEL cookbook
      • CEL troubleshooting
    • 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
    • Custom fields
      • Custom fields overview
    • DRIMS Configuration Guide
      • Configuring Warehouses
      • Configuring Approval Workflows
      • Configuring Alerts and Thresholds
      • Configuring Vocabularies
    • Eligibility rules
      • CEL expressions for eligibility
      • Geographic targeting
      • Expression templates
      • Testing eligibility rules
      • Advanced eligibility configuration
    • Entitlement formulas
      • Cash calculations
      • In-kind entitlements
      • Formula library
      • Dynamic entitlements
      • Conditional logic
    • Event Data
      • Event Data Overview
      • Configuring Event Types
      • Defining Event Fields
    • Farmer registry
      • Farmer registry overview
      • Farm details, seasons, and activities
    • GIS configuration
      • GIS configuration overview
      • GIS reports and indicator layers
    • Grievance redress
      • Grievance redress overview
      • SLA rules
      • GRM teams and tags
    • Hazard management
      • Hazard management overview
      • Linking programs to hazard incidents
    • Import matching
      • Import matching overview
    • OpenSPP Studio
      • Studio Overview
      • Custom Fields (Registry Field Builder)
      • Event Type Designer
    • Role configuration
      • Access control overview
      • Assigning roles to users
      • Predefined roles
      • Creating custom roles
      • Troubleshooting
    • Scoring & Assessment
      • Scoring Framework Overview
      • Proxy Means Test (PMT) Configuration
      • Vulnerability Scoring Configuration
      • Social Welfare Development Index (SWDI)
      • Creating Custom Scoring Formulas
    • Service points
      • Service points overview
      • Service point lifecycle
    • Session tracking
      • Session tracking overview
    • Simulation
      • Simulation overview
    • Storage backend
      • Storage backend overview
    • Variables
      • Variables Overview
      • Creating Variables
      • Variable Types
      • Using Variables in CEL
    • Vocabulary System
      • Vocabulary Overview
      • Standard Vocabularies
      • Vocabulary Profiles
      • Custom Vocabularies
  • Developer guide
    • Development setup
    • Architecture
      • Module organization
      • Data model
    • Custom modules
      • Module scaffold
      • Models
      • Security
      • Views and menus
      • Mixins
      • Testing
      • Example: custom registry fields
    • Custom program managers
      • Manager pattern
      • Building a custom manager
      • Tutorial: build CCT program managers
    • Custom change request types
      • Detail models
      • Apply strategies
      • Approval hooks
      • Tutorial: build a transfer member CR type
    • API V2
      • API V2 Overview
      • Authentication
      • External Identifiers
      • Consent Management
      • API Resources
      • Search and Filtering
      • Batch Operations
      • Error Handling
      • Tutorial: build a Python API client
      • Studio API Integration
      • Entitlements and Cycles
      • Products and Service Points
    • DCI Integration
      • DCI Overview
      • OpenSPP as DCI Server
      • OpenSPP as DCI Client
      • DCI Protocol Details
    • Security and Encryption
    • CEL (Common Expression Language)
      • CEL Internals
    • Studio
    • Audit and Versioning
    • Contributing
  • 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
      • Registry Search
      • 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
      • 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
    • What's new in OpenSPP v2
  • 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
    • Why OpenSPP is built on Odoo
    • 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.