Adding Domains
Overview
Domains represent the live environments where your application is deployed and accessible. Before Pensar can test your domains, they must be added to your workspace and verified using DNS TXT records. This verification process ensures you own or control the domains being tested.
Domain verification is required for Pensar’s hybrid testing methodology against live environments.
Why Domain Verification?
Domain verification protects both you and other domain owners:
Verification ensures you control the domain before testing begins, preventing unauthorized security testing.
Protects other organizations from having their domains tested without permission.
Demonstrates due diligence and authorization for security testing activities.
Verification provides evidence of authorization, protecting against legal concerns about penetration testing.
Adding a Domain
Follow this step-by-step process to add and verify a domain in the Pensar Console:
Enter Domain URL
Enter the domain or IP address you want to pentest:
- Valid:
app.example.com,example.com,api.example.com - No scheme: a bare domain is treated as
https:// - IP addresses: include the scheme explicitly (e.g.
http://10.0.0.5:8080)
You can queue several targets at once before continuing.
Upload API Schema (Optional)
Enhance endpoint discovery by uploading an OpenAPI or Swagger schema:
- Supported formats: JSON (
.json) or YAML (.yml,.yaml) - What it does: Helps Pensar discover documented API endpoints
- Validation: The schema is validated before upload
Click “Select File” to choose your schema file.
Upload Sitemap (Optional)
Help Pensar discover pages and routes by uploading a sitemap:
- Supported formats: XML (
.xml) or TXT (.txt) - What it does: Provides a map of accessible pages
- Standard format: Supports the standard sitemap.xml format
Click “Select File” to choose your sitemap file.
Verify Domain Ownership
If DNS verification is required and the domain is not already verified, a verification step appears with your unique DNS TXT record. Add the record to your DNS provider, then click “Verify”. See DNS provider instructions below.
Add Authentication (Optional)
After a domain is created and verified, you can add authentication credentials so Pensar can test protected endpoints. This is a separate step from adding the domain — see the Authentication guide for details.
Authentication credentials are configured in a dedicated step after the domain is created — they are not part of the Add Domain form. The Add Domain form collects the domain URL plus an optional OpenAPI/Swagger schema and sitemap.
DNS TXT Record Format
The verification TXT record follows this format:
Use the Copy button next to the verification record to copy the exact value. This ensures you don’t introduce any typos.
Examples
For different domain configurations:
Subdomain
Root Domain
With Port
Path
Domain: app.example.com
Or for some DNS providers:
DNS Provider Guides
Instructions for common DNS providers:
Cloudflare
- Log in to your Cloudflare dashboard
- Select your domain
- Navigate to DNS > Records
- Click Add record
- Configure the record:
- Type: TXT
- Name:
_pensar.app(or full:_pensar.app.example.com) - Content:
pensar=<your-token> - TTL: Auto (or 3600)
- Click Save
- Wait 1-5 minutes for propagation
- Verify in Pensar Console
Cloudflare DNS typically propagates within 1-2 minutes.
AWS Route 53
- Open the Route 53 console
- Select Hosted zones
- Choose your domain’s hosted zone
- Click Create record
- Configure the record:
- Record name:
_pensar.app.example.com - Record type: TXT
- Value:
"pensar=<your-token>" - TTL: 300
- Record name:
- Click Create records
- Wait 5-10 minutes for propagation
- Verify in Pensar Console
Note: TXT values in Route 53 should be enclosed in quotes.
Google Cloud DNS
- Open the Cloud DNS console
- Select your DNS zone
- Click Add record set
- Configure the record:
- DNS name:
_pensar.app.example.com.(trailing dot) - Resource record type: TXT
- TXT data:
pensar=<your-token> - TTL: 3600
- DNS name:
- Click Create
- Wait 5-10 minutes for propagation
- Verify in Pensar Console
Include the trailing dot in the DNS name for Google Cloud DNS.
GoDaddy
- Log in to your GoDaddy account
- Navigate to My Products > DNS
- Find your domain and click DNS
- Scroll to Records section
- Click Add > TXT
- Configure the record:
- Host:
_pensar.app(subdomain only, without main domain) - TXT Value:
pensar=<your-token> - TTL: 3600 seconds
- Host:
- Click Save
- Wait 10-30 minutes for propagation
- Verify in Pensar Console
Note: GoDaddy can take longer to propagate DNS changes.
Namecheap
- Log in to Namecheap
- Navigate to Domain List
- Click Manage next to your domain
- Go to Advanced DNS tab
- Click Add New Record
- Configure the record:
- Type: TXT Record
- Host:
_pensar.app(subdomain part only) - Value:
pensar=<your-token> - TTL: Automatic (or 3600)
- Click the checkmark to save
- Wait 10-30 minutes for propagation
- Verify in Pensar Console
DigitalOcean
- Log in to DigitalOcean
- Navigate to Networking > Domains
- Select your domain
- Scroll to Add a record
- Configure the record:
- Type: TXT
- Hostname:
_pensar.app(or full subdomain) - Value:
pensar=<your-token> - TTL: 3600
- Click Create Record
- Wait 5-10 minutes for propagation
- Verify in Pensar Console
Other DNS Providers
For other DNS providers, follow this general process:
- Log in to your DNS provider’s control panel
- Find the DNS management or DNS records section
- Add a new TXT record with:
- Host/Name:
_pensar.<your-subdomain>.<your-domain> - Type: TXT
- Value:
pensar=<your-token> - TTL: 3600 (or default)
- Host/Name:
- Save the record
- Wait for DNS propagation (typically 5-30 minutes)
- Verify in Pensar Console
If you’re unsure about your DNS provider’s process, contact their support with the record details you need to add.
Verification Troubleshooting
If domain verification fails, try these steps:
Check DNS Propagation
DNS changes can take time to propagate globally:
- Local propagation: 1-5 minutes
- Global propagation: Up to 48 hours (typically 10-30 minutes)
Use these tools to check if your TXT record is visible:
- DNS Checker
- What’s My DNS
- Command line:
dig _pensar.app.example.com TXT - Command line:
nslookup -type=TXT _pensar.app.example.com
Wait at least 10 minutes after adding the DNS record before attempting verification.
Verify Record Format
Ensure your TXT record is formatted correctly:
✅ Correct:
❌ Incorrect:
Common mistakes:
- Missing
_pensarprefix in host - Missing
pensar=prefix in value - Extra quotes around the value (some providers add automatically)
- Incorrect subdomain in host
Check DNS Provider Settings
Some DNS providers have specific requirements:
- Trailing dots: Some providers require a trailing dot, others don’t
- @ symbol: Some use @ to represent the root domain
- Quotes: Some providers automatically add quotes to TXT values
- Multiple TXT records: Ensure your TXT record isn’t conflicting with others
Consult your DNS provider’s documentation for TXT record requirements.
Copy Token Carefully
The verification record must match exactly:
- Copy the full value from Pensar Console
- Don’t add extra spaces or line breaks
- Include the
pensar=prefix - Don’t modify the token value
If verification still fails, try regenerating the verification token in Pensar Console.
Contact Support
If you’ve tried everything and verification still fails:
- Double-check all settings
- Confirm the DNS record is visible using DNS lookup tools
- Contact Pensar support with:
- Your domain name
- Screenshot of your DNS record configuration
- Results from DNS lookup tools
- Your DNS provider name
Managing Domains
After adding domains, you can manage them under Attack Surface > Domains:
Domain List View
The domains table shows:
- Domain: The domain URL
- Verified: ✓ if verified, ✗ if not verified
- Pentesting Enabled: Whether testing is currently enabled
- Last Analyzed: When attack surface reconnaissance last ran
- Recon indicator: An animated radar icon appears while reconnaissance is running
Domain Actions
Click the menu (⋮) next to any domain to:
Edit
Enable/Disable
Verify
Run Recon
Delete
Update the domain configuration:
- Change the domain URL
- Add or remove the API schema
- Add or remove the sitemap
Multiple Domains
A workspace can have multiple domains for different purposes:
Test both environments separately:
https://staging.example.comhttps://production.example.com
Verify findings in staging before production testing.
Test different application areas:
https://app.example.com- Main applicationhttps://api.example.com- API serverhttps://admin.example.com- Admin panel
Each requires separate verification.
Test across deployment targets:
- Development environment
- QA/Testing environment
- Staging environment
- Production environment
Test geographic deployments:
https://us.example.comhttps://eu.example.comhttps://asia.example.com
Ensure security across all regions.
Security Considerations
Production Testing: Be cautious when testing production domains. Consider:
- Testing during low-traffic periods
- Using staging environments when possible
- Configuring rate limits to prevent service disruption
- Notifying your team before production testing
TXT Record Visibility
DNS TXT records are publicly visible:
- Anyone can query your DNS TXT records
- The verification token doesn’t grant access to systems
- Records only prove domain ownership
- Safe to leave in place after verification
The token is safe to be public - it only verifies domain ownership, not system access.
Removing Verification Records
After verification, you can optionally remove the TXT record:
- Not required, the record can stay indefinitely
- Needed if you want to re-verify in the future
- Removing it doesn’t affect existing tests
We recommend leaving it in place for continuous verification.