Skip to content

Commit eb2e264

Browse files
Kobler Adapter: Remove sensitive device and user data (#4043)
1 parent 1822c12 commit eb2e264

3 files changed

Lines changed: 26 additions & 2 deletions

File tree

src/main/java/org/prebid/server/bidder/kobler/KoblerBidder.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.fasterxml.jackson.databind.JsonNode;
66
import com.fasterxml.jackson.databind.node.ObjectNode;
77
import com.iab.openrtb.request.BidRequest;
8+
import com.iab.openrtb.request.Device;
89
import com.iab.openrtb.request.Imp;
910
import com.iab.openrtb.response.Bid;
1011
import com.iab.openrtb.response.BidResponse;
@@ -77,9 +78,12 @@ public Result<List<HttpRequest<BidRequest>>> makeHttpRequests(BidRequest bidRequ
7778
}
7879
}
7980

81+
final Device device = bidRequest.getDevice();
8082
final BidRequest modifiedRequest = bidRequest.toBuilder()
8183
.imp(modifiedImps)
8284
.cur(normalizeCurrencies(bidRequest))
85+
.device(device != null ? device.toBuilder().ipv6(null).ip(null).build() : null)
86+
.user(null)
8387
.build();
8488

8589
final String endpoint = isTest(imps.getFirst(), errors) ? devEndpoint : endpointUrl;

src/test/java/org/prebid/server/bidder/kobler/KoblerBidderTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import com.fasterxml.jackson.core.JsonProcessingException;
44
import com.iab.openrtb.request.BidRequest;
5+
import com.iab.openrtb.request.Device;
56
import com.iab.openrtb.request.Imp;
7+
import com.iab.openrtb.request.User;
68
import com.iab.openrtb.response.Bid;
79
import com.iab.openrtb.response.BidResponse;
810
import com.iab.openrtb.response.SeatBid;
@@ -165,6 +167,25 @@ public void makeHttpRequestsShouldAddUsdToCurrenciesIfMissing() {
165167
.containsExactly(List.of("EUR", "USD"));
166168
}
167169

170+
@Test
171+
public void makeHttpRequestsShouldSanitizeDeviceAndUserData() {
172+
// given
173+
final BidRequest bidRequest = givenBidRequest(
174+
request -> request
175+
.device(Device.builder().ip("ip").ipv6("ipv6").ua("ua").build())
176+
.user(User.builder().consent("consent").build()),
177+
givenImp(identity()));
178+
179+
// when
180+
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
181+
182+
// then
183+
assertThat(result.getValue())
184+
.extracting(HttpRequest::getPayload)
185+
.extracting(BidRequest::getDevice, BidRequest::getUser)
186+
.containsExactly(tuple(Device.builder().ua("ua").build(), null));
187+
}
188+
168189
@Test
169190
public void makeBidsShouldReturnErrorIfResponseBodyIsInvalid() {
170191
// given

src/test/resources/org/prebid/server/it/openrtb2/kobler/test-kobler-bid-request.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@
2727
}
2828
},
2929
"device": {
30-
"ua": "userAgent",
31-
"ip": "193.168.244.1"
30+
"ua": "userAgent"
3231
},
3332
"at": 1,
3433
"tmax": "${json-unit.any-number}",

0 commit comments

Comments
 (0)