Decide what every AI client can see and do — before any prompt reaches the model.
PortEden's access control puts a policy engine between your data sources and any AI client. Six layers — visibility, contact rules, action limits, time window, account scope, and data reduction — decide every request, per integration, per user, per AI tool. RBAC for the 80% case. PBAC for the edge cases your auditor reads.
Free tier · No credit card · Works with any AI client
OAuth granted the AI everything it could ever want.
The moment a user clicks "Connect Gmail" or "Allow Drive" in Claude, ChatGPT, Copilot, or an MCP server, the AI inherits the user's full permissions. There is no per-prompt scope, no per-tool action limit, no record of what the AI actually touched. The policy layer is missing.
OAuth granted ChatGPT your entire inbox
When a user clicks "Connect Gmail" in an AI client, the scope is usually all-or-nothing. The assistant now reads every thread — HR, legal, customer financials, board mail — even when it only needed to draft a reply to one customer.
An MCP server walks the whole drive
A connected agent crawls every folder it has access to — including the legal hold archive, the M&A working set, and unredacted customer exports — because there's no policy layer between the credential and the file system.
An AI agent emails a customer on someone else's behalf
Read access creeps into write access. A workflow built to summarize email starts sending replies. Without action limits, the AI can do anything the OAuth token can do — including damaging things you can't undo.
Every request passes six layers before reaching the model.
An AI client makes a request. PortEden evaluates it against six independent permission layers. The model only sees what passes all six.
Six layers, independently enforced.
Each layer asks one question. A request must pass every layer to reach the model. The same six are applied uniformly across every integration and every AI client.
Visibility
How much can AI see?
Calendar: free/busy only. Drive: filenames only. Slack: channel list, not messages.
- Free/busy mode for calendars (no titles, attendees, or notes)
- Filename-only mode for drives (no body, no thumbnails)
- Channel-list mode for chat (no message content)
- Subject-line-only mode for mail
- Field-level masks per record type
- Per-integration default visibility profile
Contact rules
Whose data is visible?
Block all meetings with @competitor.com. Hide threads with HR. Exclude legal counsel.
- Domain-level allow / deny lists
- Per-contact tags (HR, legal, executive, internal)
- Group-aware exclusion (entire teams or roles)
- External vs internal partition
- Vendor / contractor / customer segmentation
- Override-with-approval for break-glass cases
Action limits
What can AI do?
Read: yes. Draft: yes. Send: requires user click. Delete: never.
- Read / write / delete granularity per integration
- Send-on-behalf vs draft-only modes for mail
- Create vs modify vs archive on records
- Approval-required workflows for high-risk actions
- Hard-deny lists (e.g., never delete, never share externally)
- Per-AI-client action profiles
Time window
How far back and forward?
Only this week and next. Only the last 90 days of email. No items before 2024-01-01.
- Rolling windows (last N days)
- Fixed windows (between two dates)
- Forward-looking horizons (next N days, future-only)
- Per-record-type windows (mail vs files vs events)
- Holiday / freeze-period exclusions
- Audit-period override for compliance reviews
Account scope
Which accounts and workspaces?
Only my work calendar, the Engineering board, and the customer-success Slack workspace.
- Per-account selection (work vs personal mailboxes)
- Per-workspace selection (which Slack / Teams tenants)
- Per-project / per-board scoping (Jira, Linear, Asana, Notion)
- Per-drive / per-shared-drive scoping
- Cross-tenant isolation by default
- Resource-label-based scoping (project tags, sensitivity labels)
Data reduction
What gets blacked out from responses?
Meeting with ***** at ***** about *****. Names, amounts, and identifiers redacted.
- Identifier-level masking on response payloads
- Compose with the redaction engine for full PII / PHI coverage
- Per-field redaction profiles (names only, amounts only, both)
- Reversible placeholders for in-browser re-hydration
- Per-AI-client reduction profiles
- Audit-log-safe reduction (logs see masks, admins see originals)
Authenticate. Evaluate. Filter. Log.
1. Authenticate
Every request is bound to an identity (user + AI client + integration). PortEden trusts your IdP for authentication; from here on, it's about what that identity is allowed to do, not whether they're who they say they are.
2. Evaluate
Six layers fire in parallel: visibility, contact rules, action limits, time window, account scope, data reduction. Layer-level decisions are combined into a single allowed/filtered/denied result with full reasoning attached.
3. Filter
Allowed payload is shaped to match policy. Out-of-scope rows drop. Out-of-window events drop. Excluded contacts disappear. Free/busy mode hides meeting bodies. The AI sees only what passed all six layers.
4. Log
Every decision is recorded — which layers fired, what was filtered, and what the AI ultimately received. Streamed to SIEM and surfaced in the audit trail for compliance evidence and incident review.
Same prompt, two very different access decisions.
Here's a real prompt your team might write. On the left, what the AI asked for. On the right, what PortEden actually allowed through — with the layer that fired on every filter.
Summarize my meetings with anyone from acme-competitor.com from the last 6 months.
Include all attendees and meeting notes.
Then delete the calendar holds I no longer need.
Look across my work and personal calendars.
Summarize my meetings [blocked: competitor] [scoped: last 30 days].
Include [free/busy only].
Then [denied].
Look across [work calendar only].
Here's a summary of your work-calendar meetings from the last 30 days, with free/busy detail only. 4 events were excluded by policy. I won't delete the calendar holds — that action isn't allowed for this client.
Policy footnote: Time window narrowed from 6 months to 30 days. Account scope excluded the personal calendar. Visibility set to free/busy. Action limit blocked the delete. Every decision is recorded in the audit trail with the policy version that was live at request time.
The same AI client, two very different blast radii.
Citations, not vague reassurances.
Each layer of access enforcement maps to a specific clause in the framework your auditor is reading. Evidence is exportable from the audit trail.
Every source the AI tries to reach into.
One policy engine, six regulated workflows.
Policy at the boundary, not buried in the client.
Per-app permission settings inside Claude or ChatGPT cover that one client. The next AI tool needs the same rules rebuilt by hand. PortEden sits at the integration boundary instead, so one policy applies to every AI client — present and future — uniformly.
Integration-side, not client-side
Policy enforces once at the data source — Gmail, Drive, Slack, Calendar, Jira. Add a new AI client and policies apply automatically. No per-vendor rebuild.
Default deny, explicit allow
Six layers all start from "nothing allowed." A request only reaches the model if every layer explicitly permits it. The default state is the safe state.
Versioned, change-controlled, replayable
Policies are versioned in Git or the management API. Every authorization decision records the policy version that was live, so you can replay any decision exactly as it was made.
Pairs well with
Access control questions
What is AI access control and why do I need it?
How is this different from OAuth scopes or my IdP's RBAC?
What are the six permission layers?
Does PortEden support RBAC, PBAC, or both?
Will this work with MCP servers and AI agents, not just chat clients?
Can I scope policies by user, by team, by integration, and by AI client?
How fast is policy evaluation? Will it slow down AI responses?
What happens when a request is denied — does the AI just fail?
How do I see who accessed what, and which policies fired?
What evidence does this produce for SOC 2, HIPAA, GDPR, and ISO 27001 auditors?
Can policies be expressed as code or only through the UI?
What pricing tier includes access control?
Ready to put a policy engine between your data and the model?
Set up access control in under 10 minutes. Free tier covers solo users; Enterprise adds SSO/SAML, SCIM, change-control workflows, and SIEM export.