gdpr

package
v0.206.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2022 License: Apache-2.0 Imports: 21 Imported by: 15

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func VendorListURLMaker added in v0.206.0

func VendorListURLMaker(vendorListVersion uint16) string

Make a URL which can be used to fetch a given version of the Global Vendor List. If the version is 0, this will fetch the latest version.

Types

type AllowHostCookies

type AllowHostCookies struct {
	// contains filtered or unexported fields
}

AllowHostCookies represents a GDPR permissions policy with host cookie syncing always allowed

func (AllowHostCookies) AuctionActivitiesAllowed

func (p AllowHostCookies) AuctionActivitiesAllowed(ctx context.Context, bidderCoreName openrtb_ext.BidderName, bidder openrtb_ext.BidderName, PublisherID string, gdprSignal Signal, consent string, aliasGVLIDs map[string]uint16) (allowBidReq bool, passGeo bool, passID bool, err error)

func (AllowHostCookies) BidderSyncAllowed

func (p AllowHostCookies) BidderSyncAllowed(ctx context.Context, bidder openrtb_ext.BidderName, gdprSignal Signal, consent string) (bool, error)

func (*AllowHostCookies) HostCookiesAllowed

func (p *AllowHostCookies) HostCookiesAllowed(ctx context.Context, gdprSignal Signal, consent string) (bool, error)

HostCookiesAllowed always returns true

type AlwaysAllow

type AlwaysAllow struct{}

Exporting to allow for easy test setups

func (AlwaysAllow) AuctionActivitiesAllowed

func (a AlwaysAllow) AuctionActivitiesAllowed(ctx context.Context, bidderCoreName openrtb_ext.BidderName, bidder openrtb_ext.BidderName, PublisherID string, gdprSignal Signal, consent string, aliasGVLIDs map[string]uint16) (allowBidReq bool, passGeo bool, passID bool, err error)

func (AlwaysAllow) BidderSyncAllowed

func (a AlwaysAllow) BidderSyncAllowed(ctx context.Context, bidder openrtb_ext.BidderName, gdprSignal Signal, consent string) (bool, error)

func (AlwaysAllow) HostCookiesAllowed

func (a AlwaysAllow) HostCookiesAllowed(ctx context.Context, gdprSignal Signal, consent string) (bool, error)

type ErrorMalformedConsent

type ErrorMalformedConsent struct {
	Consent string
	Cause   error
}

An ErrorMalformedConsent will be returned by the Permissions interface if the consent string argument was the reason for the failure.

func (*ErrorMalformedConsent) Error

func (e *ErrorMalformedConsent) Error() string

type Permissions

type Permissions interface {
	// Determines whether or not the host company is allowed to read/write cookies.
	//
	// If the consent string was nonsensical, the returned error will be an ErrorMalformedConsent.
	HostCookiesAllowed(ctx context.Context, gdprSignal Signal, consent string) (bool, error)

	// Determines whether or not the given bidder is allowed to user personal info for ad targeting.
	//
	// If the consent string was nonsensical, the returned error will be an ErrorMalformedConsent.
	BidderSyncAllowed(ctx context.Context, bidder openrtb_ext.BidderName, gdprSignal Signal, consent string) (bool, error)

	// Determines whether or not to send PI information to a bidder, or mask it out.
	//
	// If the consent string was nonsensical, the returned error will be an ErrorMalformedConsent.
	AuctionActivitiesAllowed(ctx context.Context, bidderCoreName openrtb_ext.BidderName, bidder openrtb_ext.BidderName, PublisherID string, gdprSignal Signal, consent string, aliasGVLIDs map[string]uint16) (allowBidReq bool, passGeo bool, passID bool, err error)
}

func NewPermissions

func NewPermissions(cfg config.GDPR, tcf2Config TCF2ConfigReader, vendorIDs map[openrtb_ext.BidderName]uint16, fetcher VendorListFetcher) Permissions

NewPermissions gets an instance of the Permissions for use elsewhere in the project.

type PermissionsBuilder added in v0.206.0

type Signal

type Signal int
const (
	SignalAmbiguous Signal = -1
	SignalNo        Signal = 0
	SignalYes       Signal = 1
)

func SignalNormalize added in v0.173.0

func SignalNormalize(signal Signal, gdprDefaultValue string) Signal

SignalNormalize normalizes a GDPR signal to ensure it's always either SignalYes or SignalNo.

func SignalParse

func SignalParse(rawSignal string) (Signal, error)

SignalParse returns a parsed GDPR signal or a parse error.

type TCF2ConfigBuilder added in v0.206.0

type TCF2ConfigBuilder func(hostConfig config.TCF2, accountConfig config.AccountGDPR) TCF2ConfigReader

type TCF2ConfigReader added in v0.206.0

type TCF2ConfigReader interface {
	BasicEnforcementVendor(openrtb_ext.BidderName) bool
	FeatureOneEnforced() bool
	FeatureOneVendorException(openrtb_ext.BidderName) bool
	IntegrationEnabled(config.IntegrationType) bool
	IsEnabled() bool
	PurposeEnforced(consentconstants.Purpose) bool
	PurposeEnforcingVendors(consentconstants.Purpose) bool
	PurposeVendorException(consentconstants.Purpose, openrtb_ext.BidderName) bool
	PurposeOneTreatmentEnabled() bool
	PurposeOneTreatmentAccessAllowed() bool
}

TCF2ConfigReader is an interface to access TCF2 configurations

func NewTCF2Config added in v0.206.0

func NewTCF2Config(hostConfig config.TCF2, accountConfig config.AccountGDPR) TCF2ConfigReader

NewTCF2Config creates an instance of tcf2Config which implements the TCF2ConfigReader interface

type VendorListFetcher added in v0.206.0

type VendorListFetcher func(ctx context.Context, id uint16) (vendorlist.VendorList, error)

func NewVendorListFetcher added in v0.206.0

func NewVendorListFetcher(initCtx context.Context, cfg config.GDPR, client *http.Client, urlMaker func(uint16) string) VendorListFetcher

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL