Skip to content

Commit

Permalink
feat: add highActivity and locationSpoofing signals, support `ori…
Browse files Browse the repository at this point in the history
…ginTimezone` for `vpn` signal
  • Loading branch information
ilfa committed Nov 24, 2023
1 parent 9efb2b4 commit 1d0e19d
Show file tree
Hide file tree
Showing 21 changed files with 857 additions and 114 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ Class | Method | HTTP request | Description
- [ErrorEvent404ResponseError](docs/ErrorEvent404ResponseError.md)
- [ErrorVisits403](docs/ErrorVisits403.md)
- [EventResponse](docs/EventResponse.md)
- [HighActivityResult](docs/HighActivityResult.md)
- [IPLocation](docs/IPLocation.md)
- [IPLocationCity](docs/IPLocationCity.md)
- [IdentificationError](docs/IdentificationError.md)
Expand All @@ -229,6 +230,7 @@ Class | Method | HTTP request | Description
- [IpInfoResultV4](docs/IpInfoResultV4.md)
- [IpInfoResultV6](docs/IpInfoResultV6.md)
- [Location](docs/Location.md)
- [LocationSpoofingResult](docs/LocationSpoofingResult.md)
- [ManyRequestsResponse](docs/ManyRequestsResponse.md)
- [ProductError](docs/ProductError.md)
- [ProductsResponse](docs/ProductsResponse.md)
Expand All @@ -247,12 +249,14 @@ Class | Method | HTTP request | Description
- [SignalResponseFactoryResetData](docs/SignalResponseFactoryResetData.md)
- [SignalResponseFrida](docs/SignalResponseFrida.md)
- [SignalResponseFridaData](docs/SignalResponseFridaData.md)
- [SignalResponseHighActivity](docs/SignalResponseHighActivity.md)
- [SignalResponseIncognito](docs/SignalResponseIncognito.md)
- [SignalResponseIncognitoData](docs/SignalResponseIncognitoData.md)
- [SignalResponseIpBlocklist](docs/SignalResponseIpBlocklist.md)
- [SignalResponseIpInfo](docs/SignalResponseIpInfo.md)
- [SignalResponseJailbroken](docs/SignalResponseJailbroken.md)
- [SignalResponseJailbrokenData](docs/SignalResponseJailbrokenData.md)
- [SignalResponseLocationSpoofing](docs/SignalResponseLocationSpoofing.md)
- [SignalResponsePrivacySettings](docs/SignalResponsePrivacySettings.md)
- [SignalResponsePrivacySettingsData](docs/SignalResponsePrivacySettingsData.md)
- [SignalResponseProxy](docs/SignalResponseProxy.md)
Expand Down
14 changes: 14 additions & 0 deletions docs/HighActivityResult.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@


# HighActivityResult


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**result** | **Boolean** | Flag indicating whether the request came from a high activity visitor. | [optional] |
|**dailyRequests** | [**BigDecimal**](BigDecimal.md) | Number of requests from the same visitor in the previous day. | [optional] |



2 changes: 1 addition & 1 deletion docs/IPLocation.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**accuracyRadius** | **Integer** | | [optional] |
|**accuracyRadius** | **Integer** | The IP address is likely to be within this radius (in km) of the specified location. | [optional] |
|**latitude** | **Double** | | [optional] |
|**longitude** | **Double** | | [optional] |
|**postalCode** | **String** | | [optional] |
Expand Down
13 changes: 13 additions & 0 deletions docs/LocationSpoofingResult.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@


# LocationSpoofingResult


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**result** | **Boolean** | Flag indicating whether the request came from a device with location spoofing enabled. | [optional] |



2 changes: 2 additions & 0 deletions docs/ProductsResponse.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ Contains all information about the request identified by `requestId`, depending
|**vpn** | [**SignalResponseVpn**](SignalResponseVpn.md) | | [optional] |
|**proxy** | [**SignalResponseProxy**](SignalResponseProxy.md) | | [optional] |
|**tampering** | [**SignalResponseTampering**](SignalResponseTampering.md) | | [optional] |
|**highActivity** | [**SignalResponseHighActivity**](SignalResponseHighActivity.md) | | [optional] |
|**locationSpoofing** | [**SignalResponseLocationSpoofing**](SignalResponseLocationSpoofing.md) | | [optional] |
|**rawDeviceAttributes** | [**SignalResponseRawDeviceAttributes**](SignalResponseRawDeviceAttributes.md) | | [optional] |


Expand Down
2 changes: 1 addition & 1 deletion docs/ProductsResponseIdentificationData.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
|**visitorFound** | **Boolean** | Attribute represents if a visitor had been identified before. | |
|**firstSeenAt** | [**SeenAt**](SeenAt.md) | | |
|**lastSeenAt** | [**SeenAt**](SeenAt.md) | | |
|**visitorId** | **String** | String of 20 characters that uniquely identifies the visitor's browser. **Pro Plus:** If a bot is detected (`products.botd.bot.result != \"notDetected\"`), the `visitorId` value contains a placeholder string `BotDetected000000000`. | |
|**visitorId** | **String** | String of 20 characters that uniquely identifies the visitor's browser. | |



14 changes: 14 additions & 0 deletions docs/SignalResponseHighActivity.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@


# SignalResponseHighActivity


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**data** | [**HighActivityResult**](HighActivityResult.md) | | [optional] |
|**error** | [**ProductError**](ProductError.md) | | [optional] |



14 changes: 14 additions & 0 deletions docs/SignalResponseLocationSpoofing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@


# SignalResponseLocationSpoofing


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**data** | [**LocationSpoofingResult**](LocationSpoofingResult.md) | | [optional] |
|**error** | [**ProductError**](ProductError.md) | | [optional] |



1 change: 1 addition & 0 deletions docs/VpnResult.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**result** | **Boolean** | VPN or other anonymizing service has been used when sending the request. | [optional] |
|**originTimezone** | **String** | Local timezone which is used in timezoneMismatch method. | [optional] |
|**methods** | [**VpnResultMethods**](VpnResultMethods.md) | | [optional] |


Expand Down
2 changes: 2 additions & 0 deletions docs/WebhookVisit.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
|**proxy** | [**WebhookSignalResponseProxy**](WebhookSignalResponseProxy.md) | | [optional] |
|**tampering** | [**TamperingResult**](TamperingResult.md) | | [optional] |
|**rawDeviceAttributes** | [**Map<String, RawDeviceAttributesResultValue>**](RawDeviceAttributesResultValue.md) | It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes. Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here. | [optional] |
|**highActivity** | [**HighActivityResult**](HighActivityResult.md) | | [optional] |
|**locationSpoofing** | [**LocationSpoofingResult**](LocationSpoofingResult.md) | | [optional] |
|**requestId** | **String** | Unique identifier of the user's identification request. | |
|**browserDetails** | [**BrowserDetails**](BrowserDetails.md) | | |
|**ip** | **String** | | |
Expand Down
162 changes: 58 additions & 104 deletions res/fingerprint-server-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ paths:
vpn:
data:
result: false
originTimezone: Europe/Berlin
methods:
timezoneMismatch: false
publicVPN: false
Expand Down Expand Up @@ -231,106 +232,12 @@ paths:
value: 0
cookiesEnabled:
value: true
proPlusBotDetectedResponse:
summary: Bot detected on Pro Plus plan
value:
products:
identification:
data:
visitorId: BotDetected000000000
requestId: 0KSh65EnVoB85JBmloQK
incognito: true
linkedId: somelinkedId
time: '2019-05-21T16:40:13Z'
timestamp: 1582299576512
url: https://www.example.com/login
ip: 61.127.217.15
ipLocation: {}
browserDetails:
browserName: ''
browserMajorVersion: ''
browserFullVersion: ''
os: ''
osVersion: ''
device: ''
userAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) ....
confidence:
score: 0.5
comment: The real score is unknown
visitorFound: false
firstSeenAt:
global: null
subscription: null
lastSeenAt:
global: null
subscription: null
botd:
data:
bot:
result: bad
type: selenium
url: https://www.example.com/login
ip: 61.127.217.15
time: '2019-05-21T16:40:13Z'
ipInfo:
data:
v4:
address: 94.142.239.124
geolocation:
accuracyRadius: 20
latitude: 50.05
longitude: 14.4
postalCode: 150 00
timezone: Europe/Prague
city:
name: Prague
country:
code: CZ
name: Czechia
continent:
code: EU
name: Europe
subdivisions:
- isoCode: '10'
name: Hlavni mesto Praha
asn:
asn: '7922'
name: COMCAST-7922
network: 73.136.0.0/13
dataCenter:
result: true
name: DediPath
incognito:
data:
result: false
rootApps:
data:
result: false
emulator:
data:
result: false
ipBlocklist:
highActivity:
data:
result: false
details:
emailSpam: false
attackSource: false
tor:
locationSpoofing:
data:
result: false
vpn:
data:
result: false
methods:
timezoneMismatch: false
publicVPN: false
proxy:
data:
result: false
tampering:
data:
result: false
anomalyScore: 0
allErrorsResponse:
summary: All failed signals
value:
Expand Down Expand Up @@ -3810,6 +3717,7 @@ paths:
result: false
vpn:
result: false
originTimezone: Europe/Berlin
methods:
timezoneMismatch: false
publicVPN: false
Expand Down Expand Up @@ -3850,6 +3758,10 @@ paths:
value: 0
cookiesEnabled:
value: true
highActivity:
result: false
locationSpoofing:
result: true
responses:
default:
description: The server doesn't validate the answer.
Expand Down Expand Up @@ -4186,6 +4098,10 @@ components:
$ref: '#/components/schemas/TamperingResult'
rawDeviceAttributes:
$ref: '#/components/schemas/RawDeviceAttributesResult'
highActivity:
$ref: '#/components/schemas/HighActivityResult'
locationSpoofing:
$ref: '#/components/schemas/LocationSpoofingResult'
requestId:
description: Unique identifier of the user's identification request.
type: string
Expand Down Expand Up @@ -4421,6 +4337,9 @@ components:
additionalProperties: false
properties:
accuracyRadius:
description: >-
The IP address is likely to be within this radius (in km) of the
specified location.
type: integer
minimum: 0
example: 1000
Expand Down Expand Up @@ -4563,16 +4482,8 @@ components:
description: >
String of 20 characters that uniquely identifies the
visitor's browser.
**Pro Plus:**
If a bot is detected (`products.botd.bot.result !=
"notDetected"`), the `visitorId` value contains a
placeholder string `BotDetected000000000`.
example:
- Ibk1527CUFmcnjLwIs4A
- BotDetected000000000
additionalProperties: false
required:
- browserDetails
Expand Down Expand Up @@ -4816,6 +4727,22 @@ components:
$ref: '#/components/schemas/TamperingResult'
error:
$ref: '#/components/schemas/ProductError'
highActivity:
title: SignalResponseHighActivity
type: object
properties:
data:
$ref: '#/components/schemas/HighActivityResult'
error:
$ref: '#/components/schemas/ProductError'
locationSpoofing:
title: SignalResponseLocationSpoofing
type: object
properties:
data:
$ref: '#/components/schemas/LocationSpoofingResult'
error:
$ref: '#/components/schemas/ProductError'
rawDeviceAttributes:
title: SignalResponseRawDeviceAttributes
type: object
Expand Down Expand Up @@ -4975,6 +4902,10 @@ components:
VPN or other anonymizing service has been used when sending the
request.
example: false
originTimezone:
type: string
description: Local timezone which is used in timezoneMismatch method.
example: Europe/Berlin
methods:
type: object
properties:
Expand Down Expand Up @@ -5014,6 +4945,29 @@ components:
example: 0
minimum: 0
maximum: 1
HighActivityResult:
type: object
properties:
result:
type: boolean
description: >-
Flag indicating whether the request came from a high activity
visitor.
example: false
dailyRequests:
type: number
description: Number of requests from the same visitor in the previous day.
example: 10
minimum: 1
LocationSpoofingResult:
type: object
properties:
result:
type: boolean
description: >-
Flag indicating whether the request came from a device with location
spoofing enabled.
example: false
RawDeviceAttributesResult:
type: object
description: >
Expand Down
Loading

0 comments on commit 1d0e19d

Please sign in to comment.