Skip to content

Commit 547d2fd

Browse files
florianerlFlorian Erlcursoragent
authored
Humansecurity RTD Provider: migrate to TypeScript and optimize token handling (#6579)
* Humansecurity RTD Provider: migrate to TypeScript and optimize token handling * - Migrated to TypeScript - Removed hardcoded token injection into ortb2Fragments and delegate to the HUMAN implementation, enabling management of which bidders receive tokens and enhancing monitoring and control of latency and performance - Introduce a cached implementation reference via getImpl() - Add module version query parameter when loading the implementation script - Wire onAuctionInitEvent so the implementation can collect QoS, telemetry and statistics per auction * Fix markdownlint errors in humansecurityRtdProvider docs. Add language tags to fenced code blocks and normalize the parameters table spacing for MD060. Co-authored-by: Cursor <cursoragent@cursor.com> * add metadata add top headerline * Add a newline before the Overview section in the HUMAN Security RTD documentation --------- Co-authored-by: Florian Erl <46747754@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 880d7fd commit 547d2fd

1 file changed

Lines changed: 25 additions & 20 deletions

File tree

dev-docs/modules/humansecurityRtdProvider.md

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@ sidebarType : 1
1919

2020
## Overview
2121

22+
```text
23+
Module Name: HUMAN Security Rtd provider
24+
Module Type: Rtd Provider
25+
Maintainer: alexey@humansecurity.com
26+
```
27+
28+
### What is it?
29+
2230
The HUMAN Security RTD submodule offers publishers a mechanism to integrate pre-bid signal collection
2331
for the purpose of providing real-time protection against all sorts of invalid traffic,
2432
such as bot-generated ad interactions or sophisticated ad fraud schemes.
@@ -34,12 +42,10 @@ sent within bid requests, and used for bot detection on the backend.
3442
* No incremental signals collected beyond existing HUMAN post-bid solution
3543
* Offsets negative impact from loss of granularity in IP and User Agent at bid time
3644
* Does not expose collected IVT signal to any party who doesn’t otherwise already have access to the same signal collected post-bid
37-
* Does not introduce meaningful latency, as demonstrated in the Latency section
45+
* Does not introduce meaningful latency
3846
* Comes at no additional cost to collect IVT signal and make it available at bid time
3947
* Leveraged to differentiate the invalid bid requests at device level, and cannot be used to identify a user or a device, thus preserving privacy.
4048

41-
{% include dev-docs/loads-external-javascript.md %}
42-
4349
## Build
4450

4551
First, make sure to add the HUMAN Security submodule to your Prebid.js package with:
@@ -69,8 +75,8 @@ pbjs.setConfig({
6975
});
7076
```
7177

72-
It can be optionally parameterized, for example, to include client ID obtained from HUMAN,
73-
should any advanced reporting be needed, or to have verbose output for troubleshooting:
78+
Other parameters can also be provided. For example, a client ID obtained from HUMAN can
79+
optionally be provided, or verbose output can be enabled for troubleshooting purposes:
7480

7581
```javascript
7682
pbjs.setConfig({
@@ -88,11 +94,11 @@ pbjs.setConfig({
8894

8995
### Supported parameters
9096

91-
{: .table .table-bordered .table-striped }
92-
| Name |Type | Description | Required |
93-
| :--------------- | :------------ | :------------------------------------------------------------------ |:---------|
94-
| `clientId` | String | Should you need advanced reporting, contact [prebid@humansecurity.com](prebid@humansecurity.com) to receive client ID. | No |
95-
| `verbose` | Boolean | Only set to `true` if troubleshooting issues. | No |
97+
| Name | Type | Description | Required |
98+
| ---- | ---- | ----------- | -------- |
99+
| `clientId` | String | Should you need advanced reporting, contact [prebid@humansecurity.com](prebid@humansecurity.com) to receive client ID. | No |
100+
| `verbose` | Boolean | Only set to `true` if troubleshooting issues. | No |
101+
| `perBidderOptOut` | string[] | Pass any bidder alias to opt-out from per-bidder signal generation. | No |
96102

97103
### Logging, latency and troubleshooting
98104

@@ -103,9 +109,6 @@ of type `ERROR`. With `verbose` parameter set to `true`, it may additionally:
103109

104110
* Call `logWarning`, resulting in `auctionDebug` events of type `WARNING`,
105111
* Call `logInfo` with latency information.
106-
* To observe these messages in console, Prebid.js must be run in
107-
[debug mode](/dev-docs/publisher-api-reference/setConfig.html#debugging) -
108-
either by adding `?pbjs_debug=true` to your page's URL, or by configuring with `pbjs.setConfig({ debug: true });`
109112

110113
Example output of the latency information:
111114

@@ -153,6 +156,7 @@ There are a few points that are worth being mentioned separately, to avoid confu
153156
the ever-evolving nature of the threat landscape without the publishers having to rebuild their Prebid.js frequently.
154157
* The signal collection script is also obfuscated, as a defense-in-depth measure in order to complicate tampering by
155158
bad actors, as are all similar scripts in the industry, which is something that cannot be accommodated by Prebid.js itself.
159+
* The collected signals are encrypted before they are passed to bid adapters and can only be interpreted by HUMAN backend systems.
156160

157161
### Why is this approach an innovation?
158162

@@ -213,10 +217,14 @@ ensuring the value of the inventory.
213217

214218
### FAQ
215219

220+
#### Is partnership with HUMAN required to use the submodule?
221+
222+
No. Using this submodule does not require any prior communication with HUMAN or being a client of HUMAN.
223+
It is free and usage of the submodule doesn’t automatically make a Publisher HUMAN client.
224+
216225
#### Is latency an issue?
217226

218227
The HUMAN Security RTD submodule is designed to minimize any latency in the auction within normal SLAs.
219-
220228
#### Do publishers get any insight into how the measurement is judged?
221229

222230
Having the The HUMAN Security RTD submodule be part of the prebid process will allow the publisher to have insight
@@ -225,12 +233,9 @@ inventory to the buyer.
225233

226234
#### How are privacy concerns addressed?
227235

228-
The HUMAN Security RTD submodule seeks to reduce the impacts from signal deprecation that are inevitable without
229-
compromising privacy by avoiding re-identification. Each bid request is enriched with just enough signal
230-
to identify if the traffic is invalid or not.
231-
232-
By having the The HUMAN Security RTD submodule operate at the Prebid level, data can be controlled
233-
and not as freely passed through the bidstream where it may be accessible to various unknown parties.
236+
The HUMAN Security RTD submodule seeks to reduce the impacts of signal deprecation without compromising privacy.
237+
Each bid request is enriched with just enough signal to identify if the traffic is invalid or not, and these
238+
signals are encrypted before being included in bid requests to prevent misuse.
234239

235240
Note: anti-fraud use cases typically have carve outs in laws and regulations to permit data collection
236241
essential for effective fraud mitigation, but this does not constitute legal advice and you should

0 commit comments

Comments
 (0)