---
id: object/table/9852
type: object
title: Table 9852 "Permission Buffer"
summary: Table 9852 "Permission Buffer" in Base Application (System.Security.AccessControl). 11 fields, 2 public procedures. Present since at least BC23, still in BC30, changed in BC24, BC26, BC28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: e8328f1c46394d0c98b212d690f0a6a1dbb026a0fb9e846ced4873285e0c4aa1
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Modules/System/PermissionSets/PermissionBuffer.Table.al
    title: src/Layers/W1/BaseApp/Modules/System/PermissionSets/PermissionBuffer.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 9852
name: Permission Buffer
namespace: System.Security.AccessControl
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 11
  procedures: 3
  events: 0
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Table 9852 "Permission Buffer"

> Table 9852 "Permission Buffer" in Base Application (System.Security.AccessControl). 11 fields, 2 public procedures. Present since at least BC23, still in BC30, changed in BC24, BC26, BC28.

Base Application · System.Security.AccessControl · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Modules/System/PermissionSets/PermissionBuffer.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Permission Buffer |
| TableType | Temporary |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Source | Option | Specifies the origin of the permission set that gives the user permissions for the object chosen in the Permissions section. Note that rows with the type Entitlement originate from the subscription plan. The permission values of the entitlement overrule values that give increased permissions in othe... | OptionCaption: Normal,Entitlement,Security Group,Inherent; DataClassification SystemMetadata |
| 2 | Permission Set | Code[20] | Specifies the permission set that gives the user permissions to the object chosen in the Permissions section. | DataClassification SystemMetadata |
| 3 | Type | Option | Specifies the type of the permission set that gives the user permissions for the object chosen in the Permissions section. Note that you can only edit permission sets of type User-Defined. | OptionCaption: User-Defined,Extension,System; DataClassification SystemMetadata |
| 4 | Read Permission | Option | Specifies whether the permission set gives the user the Read permission. | OptionCaption: ,Yes,Indirect; DataClassification SystemMetadata |
| 5 | Insert Permission | Option | Specifies whether the permission set gives the user the Insert permission. | OptionCaption: ,Yes,Indirect; DataClassification SystemMetadata |
| 6 | Modify Permission | Option | Specifies whether the permission set gives the user the Modify permission. | OptionCaption: ,Yes,Indirect; DataClassification SystemMetadata |
| 7 | Delete Permission | Option | Specifies whether the permission set gives the user the Delete permission. | OptionCaption: ,Yes,Indirect; DataClassification SystemMetadata |
| 8 | Execute Permission | Option | Specifies whether the permission set gives the user the Execute permission. | OptionCaption: ,Yes,Indirect; DataClassification SystemMetadata |
| 9 | App ID | Guid | — | DataClassification SystemMetadata |
| 10 | Security Filter | TableFilter | Specifies a security filter that applies to this permission set to limit the access that this permission set has to the data contained in this table. | DataClassification SystemMetadata |
| 11 | Order | Integer | — | DataClassification SystemMetadata |

## Keys

- Key1: Type, Permission Set (clustered)
- Key2: Source

## Procedures

- `GetAppID(): Guid`
- `OpenPermissionsPage(RunAsModal: Boolean)`

Plus 1 local procedures.

## Pages and codeunits on this table

- [Page 9853 "Effective Permissions By Set"](../page/9853.md) (source table)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 9855 "Permission Set Relation"](../codeunit/9855.md) (1 call: `OpenPermissionsPage → OpenPermissionSetPage`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26, BC28

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "table", object_name: "Permission Buffer")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
