Nightfall AI Scans API
The Scans API from Nightfall AI — 1 operation(s) for scans.
The Scans API from Nightfall AI — 1 operation(s) for scans.
openapi: 3.0.1
info:
description: One unified platform for protecting sensitive data across SaaS, GenAI, email, and endpoints.
title: Nightfall AI Scan Scans API
version: 0.0.1
servers:
- url: https://api.nightfall.ai/
security:
- apiKeyAuth: []
tags:
- name: Scans
paths:
/v2/scan:
post:
description: Provide a list of arbitrary string data, and scan each item with the provided detectors to uncover sensitive information. Returns a list equal in size to the number of provided string payloads. The item at each list index will be a list of all matches for the provided detectors, or an empty list if no occurrences are found.
operationId: ScanPayloadV2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScanRequestV2'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScanResponseV2Array'
description: Successful operation
headers:
Content-Type:
description: the content type of the response
explode: false
schema:
type: string
style: simple
security:
- apiKeyAuth: []
summary: Nightfall AI Scan for sensitive information in your data
tags:
- Scans
x-amazon-apigateway-integration:
responses:
default:
statusCode: '200'
responseParameters:
method.response.header.Content-Type: '''application/json'''
uri: arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:679663525012:function:api_platform_lambda/invocations
passthroughBehavior: when_no_match
httpMethod: POST
type: aws_proxy
x-codegen-request-body-name: ScanReqV2
components:
schemas:
ScanRequestV2:
description: The request body of the /v2/scan endpoint
example:
payload:
- payload
- payload
config:
conditionSet:
logicalOp: logicalOp
conditions:
- minNumFindings: 0
detector:
regex:
isCaseSensitive: true
pattern: pattern
contextRules:
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
wordList:
isCaseSensitive: true
values:
- values
- values
displayName: displayName
exclusionRules:
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- minNumFindings: 0
detector:
regex:
isCaseSensitive: true
pattern: pattern
contextRules:
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
wordList:
isCaseSensitive: true
values:
- values
- values
displayName: displayName
exclusionRules:
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
conditionSetUUID: conditionSetUUID
properties:
config:
$ref: '#/components/schemas/ScanRequestV2_config'
payload:
description: The text sample(s) you wish to scan. This data is passed as a string list, so you may choose to segment your text into multiple items for better granularity. The aggregate size of your text (summed across all items in the list) must not exceed 500 KB for any individual request, and the number of items in that list may not exceed 50,000.
items:
description: A collection of strings to scan.
type: string
type: array
type: object
Detector:
example:
regex:
isCaseSensitive: true
pattern: pattern
contextRules:
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
wordList:
isCaseSensitive: true
values:
- values
- values
displayName: displayName
exclusionRules:
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
properties:
displayName:
description: The display name for this detector's findings in the response.
type: string
detectorType:
$ref: '#/components/schemas/DetectorType'
nightfallDetector:
$ref: '#/components/schemas/NightfallDetectorType'
regex:
$ref: '#/components/schemas/Regex'
wordList:
$ref: '#/components/schemas/WordList'
contextRules:
description: A list of context rules.
items:
$ref: '#/components/schemas/ContextRule'
type: array
exclusionRules:
description: A list of exclusion rules.
items:
$ref: '#/components/schemas/ExclusionRule'
type: array
type: object
ScanResponse_location_unicodeRange:
properties:
start:
description: The index of the fragment's starting unicode character.
type: integer
end:
description: The index of the fragment's ending unicode character.
type: integer
type: object
ExclusionRule:
description: An exclusion rule removes findings that match the rule's given exlusion.
example:
regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
properties:
matchType:
$ref: '#/components/schemas/MatchType'
exclusionType:
$ref: '#/components/schemas/ExclusionType'
regex:
$ref: '#/components/schemas/Regex'
wordList:
$ref: '#/components/schemas/WordList'
type: object
ExclusionType:
description: The type of exclusion rule.
enum:
- REGEX
- WORD_LIST
type: string
WordList:
description: The WordList object for wordList detector and exclusion rules.
example:
isCaseSensitive: true
values:
- values
- values
properties:
values:
description: A list of words for wordList.
items:
type: string
type: array
isCaseSensitive:
description: The case sensitivity for words in the wordList. If false, ignore the case of findings.
type: boolean
type: object
ScanRequestV2_config_conditionSet:
description: A conditionSet contains a list of conditions with which you wish to scan the request payload.
example:
logicalOp: logicalOp
conditions:
- minNumFindings: 0
detector:
regex:
isCaseSensitive: true
pattern: pattern
contextRules:
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
wordList:
isCaseSensitive: true
values:
- values
- values
displayName: displayName
exclusionRules:
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- minNumFindings: 0
detector:
regex:
isCaseSensitive: true
pattern: pattern
contextRules:
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
wordList:
isCaseSensitive: true
values:
- values
- values
displayName: displayName
exclusionRules:
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
properties:
logicalOp:
description: Evaluate whether the conditions satisfy ANY or ALL criteria. Empty value defaults to ANY.
type: string
conditions:
description: A list of conditions.
items:
$ref: '#/components/schemas/Condition'
type: array
type: object
ContextRule_confidenceAdjustment:
description: The object containing the confidence level to adjust findings to.
example: {}
properties:
fixedConfidence:
$ref: '#/components/schemas/Confidence'
type: object
MatchType:
description: The type of match for a pattern.
enum:
- PARTIAL
- FULL
type: string
ScanRequestV2_config:
description: Config can contain either a conditionSetUUID or a list of inline conditions to scan the request payload with.
example:
conditionSet:
logicalOp: logicalOp
conditions:
- minNumFindings: 0
detector:
regex:
isCaseSensitive: true
pattern: pattern
contextRules:
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
wordList:
isCaseSensitive: true
values:
- values
- values
displayName: displayName
exclusionRules:
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- minNumFindings: 0
detector:
regex:
isCaseSensitive: true
pattern: pattern
contextRules:
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
wordList:
isCaseSensitive: true
values:
- values
- values
displayName: displayName
exclusionRules:
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
conditionSetUUID: conditionSetUUID
properties:
conditionSetUUID:
description: The UUID corresponding to the condition set with which you wish to scan the request payload.
type: string
conditionSet:
$ref: '#/components/schemas/ScanRequestV2_config_conditionSet'
type: object
ContextRule:
description: A context rule adjusts the finding confidence based on surrounding context.
example:
regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
properties:
regex:
$ref: '#/components/schemas/Regex'
proximity:
$ref: '#/components/schemas/ContextRule_proximity'
confidenceAdjustment:
$ref: '#/components/schemas/ContextRule_confidenceAdjustment'
type: object
NightfallDetectorType:
description: The name for a Nightfall detector.
enum:
- AMERICAN_BANKERS_CUSIP_ID
- API_KEY
- CANADA_BC_PHN
- CANADA_BANK_ACCOUNT
- CANADA_DRIVERS_LICENSE_NUMBER
- CANADA_GOVERNMENT_ID
- CANADA_OHIP
- CANADA_PASSPORT
- CANADA_PERMANENT_RESIDENT_NUMBER
- CANADA_QUEBEC_HIN
- CANADA_SOCIAL_INSURANCE_NUMBER
- CREDIT_CARD_NUMBER
- CRYPTOGRAPHIC_KEY
- DATABASE_CONNECTION_STRING
- DATE
- DATE_OF_BIRTH
- EMAIL_ADDRESS
- FDA_NATIONAL_DRUG_NAME
- FRANCE_CNI
- FRANCE_INSEE
- FRANCE_PASSPORT
- GERMANY_IDENTITY_NUMBER
- GERMANY_PASSPORT
- GCP_CREDENTIALS
- HIPAA_DEFINED_PII
- IBAN_CODE
- ICD10_CODE
- ICD10_DIAGNOSIS_DESCRIPTION
- ICD9_CODE
- ICD9_DIAGNOSIS_DESCRIPTION
- IMEI_HARDWARE_ID
- IP_ADDRESS
- IRELAND_PASSPORT
- IRELAND_PPSN
- LOCATION
- MAC_ADDRESS
- PASSWORD_IN_CODE
- PERSON_NAME
- PHONE_NUMBER
- PROTECTED_HEALTH_INFORMATION
- RANDOMLY_GENERATED_TOKEN
- SCOTLAND_COMMUNITY_HEALTH_INDEX_NUMBER
- STREET_ADDRESS
- SWIFT_CODE
- UK_ELECTORAL_ROLL_NUMBER
- UK_DRIVERS_LICENSE_NUMBER
- UK_NATIONAL_HEALTH_SERVICE_NUMBER
- UK_NATIONAL_INSURANCE_NUMBER
- UK_PASSPORT
- UK_TAXPAYER_REFERENCE
- US_BANK_ROUTING_MICR
- US_DRIVERS_LICENSE_NUMBER
- US_EMPLOYER_IDENTIFICATION_NUMBER
- US_HEALTHCARE_NPI
- US_HEALTH_INSURANCE_CLAIM_NUMBER
- US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER
- US_MEDICARE_BENEFICIARY_IDENTIFIER
- US_PASSPORT
- US_SOCIAL_SECURITY_NUMBER
- US_VEHICLE_IDENTIFICATION_NUMBER
type: string
EachItemV2Array:
items:
$ref: '#/components/schemas/ScanResponseV2'
type: array
ContextRule_proximity:
description: The object containing the length of characters before and after finding to evaluate context.
example:
windowAfter: 1
windowBefore: 6
properties:
windowBefore:
description: The number of leading characters to include as context before the finding itself.
type: integer
windowAfter:
description: The number of trailing characters to include as context after the finding itself.
type: integer
type: object
ScanResponseV2Array:
items:
$ref: '#/components/schemas/EachItemV2Array'
type: array
DetectorType:
description: The type of detector.
enum:
- NIGHTFALL_DETECTOR
- REGEX
- WORD_LIST
type: string
Confidence:
description: The confidence level of a finding.
enum:
- VERY_UNLIKELY
- UNLIKELY
- POSSIBLE
- LIKELY
- VERY_LIKELY
type: string
ScanResponse_location:
properties:
byteRange:
$ref: '#/components/schemas/ScanResponse_location_byteRange'
unicodeRange:
$ref: '#/components/schemas/ScanResponse_location_unicodeRange'
type: object
ScanResponse_location_byteRange:
properties:
start:
description: The index of the fragment's starting byte.
type: integer
end:
description: The index of the fragment's ending byte.
type: integer
type: object
ScanResponseV2:
properties:
fragment:
description: The text sample that was flagged.
type: string
detectorName:
description: The data type flagged in the text fragment.
type: string
confidence:
$ref: '#/components/schemas/Confidence'
location:
$ref: '#/components/schemas/ScanResponse_location'
type: object
Condition:
description: An inclusion condition within a condition set.
example:
minNumFindings: 0
detector:
regex:
isCaseSensitive: true
pattern: pattern
contextRules:
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
- regex:
isCaseSensitive: true
pattern: pattern
proximity:
windowAfter: 1
windowBefore: 6
confidenceAdjustment: {}
wordList:
isCaseSensitive: true
values:
- values
- values
displayName: displayName
exclusionRules:
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
- regex:
isCaseSensitive: true
pattern: pattern
wordList:
isCaseSensitive: true
values:
- values
- values
properties:
minNumFindings:
description: The minimum number of findings required in order for this detector to be reported.
type: integer
minConfidence:
$ref: '#/components/schemas/Confidence'
detector:
$ref: '#/components/schemas/Detector'
type: object
Regex:
description: The regex object for the regex detector, context rules, and exclusion rules.
example:
isCaseSensitive: true
pattern: pattern
properties:
pattern:
description: The regex pattern to match on.
type: string
isCaseSensitive:
description: The case sensitivity for the regex pattern.
type: boolean
type: object
securitySchemes:
apiKeyAuth:
in: header
name: x-api-key
type: apiKey
x-amazon-apigateway-documentation:
version: v2.1
createdDate: '2016-11-17T07:03:59.000Z'
documentationParts:
- location:
type: API
properties:
info:
description: This API exposes detectors for sensitive data in arbitrary string payloads.
- location:
type: METHOD
path: /v2/scan
method: POST
properties:
tags:
- scan
summary: Verify whether the given string matches any of the sensitive data types
- location:
type: REQUEST_BODY
path: /v2/scan
method: POST
properties:
description: Object containing the string payload to scan, as well as the sensitive data types to verify against.
- location:
type: RESPONSE
method: '*'
statusCode: '200'
properties:
description: Successful operation
x-amazon-apigateway-gateway-responses:
MISSING_AUTHENTICATION_TOKEN:
statusCode: 404
responseTemplates:
application/json: "{\n \"message\": \"resource not found\",\n \"path\": \"$context.path\",\n \"httpMethod\": \"$context.httpMethod\",\n \"statusCode\": 404\n} "