Overview
Credential grants:- Allow write requests to a specific domain for a limited time
- Auto-expire after the configured duration
- Can be extended or revoked manually
- Are logged with timestamp, reason, and granter
This is a key security feature. By default, agents can only read data. Write access must be explicitly granted.
How Credential Grants Work
The info card at the top explains the security model:- Default behavior: Agent tabs cannot make write requests to any domain (except Claude)
- Grant access: You temporarily enable write access to a specific domain
- Time-limited: Grants expire automatically after the configured duration
- Auto-revocation: When the grant expires, write access is removed
Granting New Access
Use the “Grant New Access” form to create a credential grant:Form Fields
| Field | Description | Required |
|---|---|---|
| Domain | Target domain (e.g., github.com) | Yes |
| Duration | How long the grant lasts | Yes |
| Reason | Why access is needed (optional) | No |
Duration Options
- 5 minutes - Quick tasks
- 15 minutes - Short operations
- 30 minutes - Default (recommended)
- 1 hour - Longer tasks
- 2 hours - Extended operations
- 8 hours - Full work session
Add a reason (optional)
Document why access is needed (e.g., “Deploy PR #123”). This helps with auditing.
Active Grants Table
The table displays all currently active grants, including expired ones (until manually removed).Table Columns
| Column | Description |
|---|---|
| Domain | The domain that has write access |
| Time Remaining | Countdown timer (updates every 10 seconds) |
| Granted At | When the grant was created |
| Reason | Why access was granted (or - if none) |
| Actions | Extend or revoke buttons |
Time Remaining Badges
- Green badge: More than 5 minutes remaining
- Orange badge: Less than 5 minutes remaining
- Red “Expired” badge: Grant has expired
The page auto-refreshes every 10 seconds to update time remaining badges.
Managing Grants
Extending a Grant
Click the +15m button to add 15 minutes to the grant:- The expiration time is updated
- The badge refreshes to show new time remaining
- Useful if a task is taking longer than expected
Revoking a Grant
Click the trash icon to immediately revoke access:- The grant is deleted from storage
- Write access to the domain is removed
- The grant disappears from the table
Time Formatting
Time Remaining
Displayed as:Xh Ym- Hours and minutes (if > 60 minutes)Xm Ys- Minutes and seconds (if < 60 minutes)Xs- Seconds only (if < 1 minute)Expired- Grant has expired
Granted At
Displayed as:MMM DD, HH:MM AM/PM(e.g., “Jan 15, 02:30 PM”)
Empty States
No Active Grants
If you see this message:- No grants have been created yet
- All grants have been revoked
- All grants have expired and been removed
- Key icon
- “No Active Grants” heading
- Explanation of how to grant access
Use Cases
Deploying Code
- Create pull requests
- Merge code
- Trigger deployments
Managing Issues
- Create issues
- Update issue status
- Add comments
Running Tests
- Submit forms
- Update data
- Trigger workflows
Security Best Practices
Always document reason
Use the Reason field to track why access was granted. This helps with auditing.
Revoke immediately when done
Don’t wait for expiration. Revoke grants as soon as the task is complete.
Background Integration
When you grant access:- The grant is saved to
chrome.storage.local - A message is sent to the background script:
- The background script starts a timer
- When the timer expires, the grant is automatically revoked
Technical Details
The Credentials page:- Loads from
chrome.runtime.sendMessage(type:GET_CREDENTIAL_GRANTS) - Auto-refreshes every 10 seconds to update time remaining
- Sends
GRANT_CREDENTIAL_ACCESSto create grants - Sends
REVOKE_CREDENTIAL_ACCESSto delete grants - Sends
EXTEND_CREDENTIAL_GRANTto add time - All operations are confirmed via callback responses
Next Steps
Block Domains
Configure which domains agents can visit
Configure Rules
Set up governance policies for agent behavior