Verifying Domains
Overview
After adding a domain to your project, you must verify ownership using a DNS TXT record. This verification proves you control the domain and authorizes Pensar to perform security testing.
The verification dialog opens automatically after creating a domain, showing your unique TXT record and verification instructions.
Why Domain Verification?
Domain verification is a critical security measure that:
- Proves Ownership: Ensures you control the domain before testing begins
- Prevents Abuse: Protects others from unauthorized security testing
- Legal Protection: Provides evidence of authorization for penetration testing
- Compliance: Demonstrates due diligence for security assessments
Verification Process
When you create a domain, a verification dialog automatically opens with your unique DNS TXT record.
View Your TXT Record
The verification dialog displays:
- Your unique verification record (format:
pensar=<token>) - A copy button for easy copying
- Instructions for adding the record
- A verify button to check verification status
Copy the Record
Click the Copy icon next to the TXT record to copy it to your clipboard. This ensures you don’t make any typos when adding it to your DNS.
Add to Your DNS Provider
Log in to your DNS provider and add a new TXT record:
- Type: TXT
- Host/Name:
_pensar.<your-domain>(or just_pensarfor some providers) - Value: Paste the copied record (format:
pensar=<token>) - TTL: 3600 seconds (or your provider’s default)
Wait for DNS Propagation
DNS changes take time to propagate globally:
- Fast providers (Cloudflare, Vercel): 1-5 minutes
- Most providers: 10-30 minutes
- Maximum: Up to 48 hours (rare)
DNS TXT Record Format
Your verification TXT record follows this specific format:
Examples by Domain Type
Subdomain
Root Domain
With Port
Domain: app.example.com
Some DNS providers want just the subdomain part:
DNS Provider Guides
Step-by-step instructions for popular DNS providers:
Cloudflare
Adding TXT Record in Cloudflare:
- Log in to your Cloudflare dashboard
- Select the domain you’re verifying
- Click DNS in the sidebar, then Records
- Click Add record
- Configure the record:
- Type: TXT
- Name:
_pensar(Cloudflare automatically appends your domain) - Content: Paste your full record value (e.g.,
pensar=abc123...) - TTL: Auto (or 3600)
- Proxy status: DNS only (gray cloud)
- Click Save
- Wait 1-5 minutes for propagation
- Return to Pensar Console and click Verify
Cloudflare typically propagates DNS changes within 1-2 minutes, making it one of the fastest providers for verification.
AWS Route 53
Adding TXT Record in Route 53:
- Open the Route 53 console
- Click Hosted zones in the sidebar
- Select the hosted zone for your domain
- Click Create record
- Configure the record:
- Record name:
_pensar.example.com.(include the trailing dot) - Record type: TXT
- Value:
"pensar=<token>"(enclose in double quotes) - TTL (seconds): 300 or 3600
- Routing policy: Simple routing
- Record name:
- Click Create records
- Wait 5-10 minutes for propagation
- Return to Pensar Console and click Verify
Route 53 requires:
- TXT values enclosed in double quotes
- Record names ending with a trailing dot
- Format:
"pensar=token"notpensar=token
Google Cloud DNS
Adding TXT Record in Google Cloud DNS:
- Open the Cloud DNS console
- Click on your DNS zone
- Click Add record set at the top
- Configure the record:
- DNS name:
_pensar.example.com.(include trailing dot) - Resource record type: TXT
- TTL: 3600 seconds
- TXT data:
pensar=<token>(no quotes needed)
- DNS name:
- Click Create
- Wait 5-10 minutes for propagation
- Return to Pensar Console and click Verify
Google Cloud DNS requires the trailing dot in the DNS name but doesn’t require quotes around the value.
GoDaddy
Adding TXT Record in GoDaddy:
- Log in to your GoDaddy account
- Navigate to My Products > All Products and Services
- Find your domain and click DNS
- Scroll to the Records section
- Click Add and select TXT
- Configure the record:
- Name:
_pensar(subdomain part only, GoDaddy adds the domain automatically) - Value: Paste your full record value
- TTL: 3600 seconds (or 1 hour)
- Name:
- Click Save
- Wait 10-30 minutes for propagation (GoDaddy can be slower)
- Return to Pensar Console and click Verify
GoDaddy DNS propagation can take 10-30 minutes or longer. If verification fails, wait a bit longer and try again.
Namecheap
Adding TXT Record in Namecheap:
- Log in to your Namecheap account
- Navigate to Domain List
- Click Manage next to your domain
- Go to the Advanced DNS tab
- Click Add New Record in the Host Records section
- Configure the record:
- Type: TXT Record
- Host:
_pensar(subdomain part only) - Value: Paste your full record value
- TTL: Automatic (or select a specific value)
- Click the checkmark to save
- Wait 10-30 minutes for propagation
- Return to Pensar Console and click Verify
DigitalOcean
Adding TXT Record in DigitalOcean:
- Log in to your DigitalOcean account
- Navigate to Networking > Domains
- Click on your domain
- Scroll to the Add a record section
- Configure the record:
- Type: TXT
- Hostname:
_pensar(subdomain part) - Value: Paste your full record value
- TTL (seconds): 3600
- Click Create Record
- Wait 5-10 minutes for propagation
- Return to Pensar Console and click Verify
Vercel
Adding TXT Record in Vercel:
- Log in to your Vercel dashboard
- Navigate to your project
- Go to Settings > Domains
- Click on your domain
- Scroll to DNS Records
- Click Add and select TXT
- Configure the record:
- Name:
_pensar - Value: Paste your full record value
- TTL: Default (automatic)
- Name:
- Click Save
- Wait 1-5 minutes for propagation (Vercel is very fast)
- Return to Pensar Console and click Verify
Netlify
Adding TXT Record in Netlify:
- Log in to your Netlify dashboard
- Navigate to Domains
- Select your domain
- Click DNS settings
- Scroll to DNS records
- Click Add new record
- Configure the record:
- Record type: TXT
- Name:
_pensar - Value: Paste your full record value
- TTL: 3600
- Click Save
- Wait 5-10 minutes for propagation
- Return to Pensar Console and click Verify
Checking DNS Propagation
Before clicking verify, you can check if your TXT record has propagated:
Online DNS Checker Tools
Check DNS propagation from multiple global locations. Enter
_pensar.yourdomain.com and select TXT record type.
View your DNS records from servers around the world. Shows propagation status per region.
Query Google’s public DNS servers. Fast and reliable for checking if records are live.
Comprehensive DNS lookup tool. Check TXT records and other DNS information.
Command Line Tools
You can also check from your terminal:
dig
nslookup
host
Using dig (Linux/Mac):
Expected output:
Troubleshooting Verification
If verification fails, follow these troubleshooting steps:
TXT Record Not Found
Problem: The DNS lookup can’t find your TXT record.
Solutions:
- Wait longer: DNS propagation can take 10-30 minutes (sometimes longer)
- Check the record exists: Log back into your DNS provider and verify the record is saved
- Check the host name: Ensure you used
_pensaras the subdomain prefix - Verify the format: Make sure the host is
_pensar.example.comor just_pensar - Check DNS propagation: Use online tools to see if the record is visible globally
If your DNS provider’s interface shows the record but verification fails, it usually means the record hasn’t propagated yet. Wait 5-10 more minutes and try again.
Record Format Issues
Problem: The record exists but doesn’t match the expected format.
Common mistakes:
- ❌ Missing
_pensarprefix in the host name - ❌ Missing
pensar=in the value (just the token) - ❌ Extra quotes added when they shouldn’t be
- ❌ Spaces or line breaks in the value
- ❌ Wrong subdomain (e.g.,
_verifyinstead of_pensar)
Correct format:
Action: Delete the record and re-add it, carefully copying the value from the Pensar verification dialog using the Copy button.
DNS Provider Specific Issues
Problem: Different DNS providers have different formatting requirements.
Provider-specific tips:
Route 53 (AWS):
- Requires double quotes:
"pensar=token" - Requires trailing dot:
_pensar.example.com.
Google Cloud DNS:
- Requires trailing dot:
_pensar.example.com. - No quotes needed
Cloudflare:
- Just use
_pensaras the name - No trailing dot needed
- No quotes needed
GoDaddy/Namecheap:
- Use just
_pensar(they append the domain automatically) - No quotes needed
Check your provider’s documentation for TXT record formatting requirements.
Multiple TXT Records
Problem: Your domain already has other TXT records and there may be conflicts.
Solution:
- Multiple TXT records for the same host are allowed
- DNS returns all TXT records for a host
- The Pensar verification looks specifically for the
pensar=prefix - Having other TXT records (like SPF, DKIM, etc.) won’t interfere
If you have issues:
- Ensure your new record is actually saved and visible
- Check that the
pensar=value is correct - Try querying the DNS to see all TXT records returned
Propagation Taking Too Long
Problem: It’s been over 30 minutes and the record still isn’t visible.
Possible causes:
- DNS provider is slow: Some providers take longer (GoDaddy, some regional providers)
- Caching: Your local DNS may be caching old results
- DNS not saved: The record might not have been saved properly
Actions to take:
- Clear your local DNS cache:
- Mac:
sudo dscacheutil -flushcache - Windows:
ipconfig /flushdns - Linux:
sudo systemd-resolve --flush-caches
- Mac:
- Check from a different network or device
- Use an online DNS checker to see global propagation
- Verify the record is actually saved in your DNS provider’s interface
- If it’s been over 2 hours, contact your DNS provider’s support
Verification Error Messages
Common error messages and solutions:
“TXT record not found”
- The DNS query couldn’t find any TXT record at
_pensar.yourdomain.com - Solution: Check the record exists and wait for propagation
“Invalid TXT record format”
- The record was found but doesn’t match
pensar=<token> - Solution: Check the value starts with
pensar=
“Verification token mismatch”
- A pensar TXT record was found but the token doesn’t match
- Solution: Ensure you’re adding the correct record for this specific domain
- You may have copied an old token - get the current one from the verification dialog
“DNS query failed”
- Temporary DNS resolution issue
- Solution: Wait a minute and try again
Re-Verifying Domains
You can re-verify a domain at any time:
The verification token for a domain doesn’t change, so you only need to add the DNS TXT record once. You can verify multiple times using the same record.
After Successful Verification
Once your domain is verified:
Automatic Reconnaissance
Pensar automatically queues blackbox reconnaissance to discover your attack surface.
Status Updates
In the Domains list:
- Verified column shows a green checkmark ✓
- Last Analyzed shows when reconnaissance started
- An animated radar icon appears while reconnaissance is running
Best Practices
Leave TXT Records in Place
Recommendation: Keep your verification TXT record in your DNS permanently.
Why:
- No security risk - the token is public and only proves ownership
- Allows easy re-verification if needed
- Doesn’t interfere with other DNS records
- Takes up minimal DNS resources
- Makes future verification instant
When to remove:
- You permanently stop using Pensar
- You delete the domain from your project
- Your organization requires cleanup of unused records
Verify Before Production Testing
Recommendation: Verify and test staging/development domains before production.
Benefits:
- Familiarize yourself with the process
- Ensure verification works smoothly
- Test the security testing process in a safe environment
- Validate that test credentials work
- Confirm penetration testing doesn’t disrupt services
Document Your DNS Records
Recommendation: Keep a record of all DNS TXT records you add for services.
Why:
- Know what each record is for
- Makes cleanup easier later
- Helps when troubleshooting DNS issues
- Useful for team knowledge sharing
- Required for some compliance frameworks
What to document:
- Service name (Pensar)
- Purpose (Domain verification)
- Record host (
_pensar.example.com) - Date added
- Who added it
Test DNS Propagation First
Recommendation: Check DNS propagation before clicking Verify in Pensar.
How:
- Use online DNS checker tools
- Run command-line queries
- Check from multiple locations
- Wait until you see the record globally
Benefits:
- Avoid failed verification attempts
- Know the record is working before testing
- Understand propagation time for your DNS provider
- Catch formatting errors early
Security Considerations
The DNS TXT record verification token is public information and is safe to share. It only proves domain ownership and cannot be used to access your systems or data.
Is the Verification Token Secret?
No. The verification token:
- ✅ Proves you can add DNS records to the domain
- ✅ Is publicly queryable by anyone via DNS lookup
- ✅ Only authorizes Pensar to test that specific domain
- ❌ Does NOT provide access to your application
- ❌ Does NOT contain sensitive information
- ❌ Cannot be used to compromise security
Can Someone Use My Token?
No. Even if someone copies your verification token:
- They can’t add it to their DNS for your domain (they don’t control your DNS)
- They can’t use it to verify their own domain (tokens are domain-specific)
- They can’t gain access to your Pensar project
- They can’t trigger tests on your domain without Pensar project access
Removing Verification Records
You can safely remove TXT records if:
- You’re no longer using Pensar
- You’ve deleted the domain from your project
- You need to clean up DNS records
To remove:
- Log in to your DNS provider
- Find the TXT record with host
_pensar.yourdomain.com - Delete the record
- Wait for DNS propagation (changes take effect in 5-30 minutes)
If you remove the verification record, you’ll need to add it back if you ever want to re-verify the domain in the future. However, the token value remains the same.
Next Steps
Learn how to add new domains to your project before verification.
Configure authentication credentials to test protected endpoints.
Start penetration testing on your verified domains.
Understand how Pensar discovers endpoints on your verified domains.