Skip to content

Access Gate

This page is generated from package source documentation in the Capell packages repository and the checked-in manifest. Source documentation is not distribution status. Before running a Composer command, verify that the exact package and compatible 1.x release are available through public Packagist or the authenticated marketplace account.

Field Value
Composer package capell-app/access-gate
Package slug access-gate
Product group Capell Security & Compliance
Tier premium
Bundle security-compliance
Runtime contexts admin, frontend, console
Capell version ^1.0
Catalogue role extension
Release channel Beta
Source repository capell-app/packages
Source path packages/access-gate
Docs source packages/access-gate/docs
Manifest capell.json

Access Gate is an Available, Schema-owning Capell package in the Capell Security & Compliance product group. It ships as capell-app/access-gate and extends these surfaces: admin, frontend, console.

Access Gate protects Capell pages, downloads, and member areas with request, approval, grant, claim-link, and browser-token workflows.

Admins manage protected areas, requests, grants, tokens, and audit events. Visitors can request access or see a blocked state until a valid grant is resolved.

Evidence: capell.json, routes/web.php, src/Providers/AccessGateServiceProvider.php, docs/overview.admin.md, docs/screenshots.json, tests/Feature/AccessGateMiddlewareTest.php.

Status details:

  • Status: Available
  • Tier: premium
  • Bundle: security-compliance
  • Composer package: capell-app/access-gate
  • Namespace: Capell\AccessGate
  • Theme key: not applicable

For developers: AccessGateMiddleware delegates access decisions to package Actions, while registries handle request methods and fields without adding that logic to core.

For teams: Teams can approve, reject, expire, or revoke access and retain a record of requests, grants, and blocked visits.

Evidence: src/Http/Middleware/AccessGateMiddleware.php, src/Actions/ResolveAccessGateAccessAction.php, src/Support/AccessRequestMethodRegistry.php, src/Support/RegistrationFieldRegistry.php, docs/overview.admin.md, docs/screenshots.json, tests/Unit/Actions/AccessGateAdminActionsTest.php.

Screenshot contract: docs/screenshots.json.

Illustrative access areas admin index preview Illustrative access areas admin index preview Illustrative access area create/edit form preview Illustrative access area create/edit form preview
  • Illustrative access areas admin index preview (frontend, required evidence).
  • Illustrative access area create/edit form preview (frontend, required evidence).
  • Illustrative registrations admin index with review actions preview (frontend, required evidence).
  • Illustrative grants admin index preview (frontend, required evidence).
  • Illustrative claim tokens admin index preview (frontend, required evidence).
  • Illustrative browser tokens admin index preview (frontend, required evidence).
  • Illustrative access events admin index preview (frontend, required evidence).
  • Illustrative site lockdown add screen preview (frontend, required evidence).
  • Public access request form (frontend, required evidence).
  • Public gated message (frontend, required evidence).
  • Public request CTA component (frontend, required evidence).
  • Service providers: Capell\AccessGate\Providers\AccessGateServiceProvider.
  • Config files: packages/access-gate/config/access-gate.php.
  • Migrations: packages/access-gate/database/migrations/2026_05_10_190838_01_create_access_gate_areas_table.php, packages/access-gate/database/migrations/2026_05_10_190838_02_create_access_gate_registrations_table.php, packages/access-gate/database/migrations/2026_05_10_190838_03_create_access_gate_grants_table.php, packages/access-gate/database/migrations/2026_05_10_190838_04_create_access_gate_claim_tokens_table.php, packages/access-gate/database/migrations/2026_05_10_190838_05_create_access_gate_browser_tokens_table.php, packages/access-gate/database/migrations/2026_05_10_190838_06_create_access_gate_events_table.php, packages/access-gate/database/migrations/2026_06_06_052053_01_create_access_gate_areas_table.php, packages/access-gate/database/migrations/2026_06_06_052054_02_create_access_gate_registrations_table.php, packages/access-gate/database/migrations/2026_06_06_052055_03_create_access_gate_grants_table.php, packages/access-gate/database/migrations/2026_06_06_052056_04_create_access_gate_claim_tokens_table.php, packages/access-gate/database/migrations/2026_06_06_052057_05_create_access_gate_browser_tokens_table.php, packages/access-gate/database/migrations/2026_06_06_052058_06_create_access_gate_events_table.php, packages/access-gate/database/migrations/2026_06_08_101249_add_claim_landing_url_to_access_gate_areas_table.php, packages/access-gate/database/migrations/2026_06_14_000001_add_announcement_bar_fields_to_access_gate_areas_table.php, packages/access-gate/database/migrations/2026_07_20_000001_create_access_gate_site_access_policies_table.php.
  • Models: AccessGateModel, Area, BrowserToken, ClaimToken, Event, Grant, Registration, SiteAccessPolicy.
  • Filament classes: AccessGateSiteSchemaExtender, AccessAreaResource, CreateAccessArea, EditAccessArea, ListAccessAreas, BrowserTokenResource, ListBrowserTokens, ClaimTokenResource, ListClaimTokens, AccessGateEventResource, ListAccessGateEvents, GrantResource, and 4 more.
  • Route files: packages/access-gate/routes/web.php.
  • Policies: AbstractAccessGateResourcePolicy, AccessAreaPolicy, AccessGateEventPolicy, BrowserTokenPolicy, ClaimTokenPolicy, GrantPolicy, RegistrationPolicy.
  • Extension contracts: AccessRequestMethod, AdminNotificationRecipientResolver, RegistrationField.
  • Events: RegistrationApproved.
  • Listeners: CopySiteAccessPoliciesOnSiteReplicated, NotifyAdminsOfAccessRequest.
  • Actions: ApplySiteAccessPolicySiteSpecAction, ApproveNextRegistrationsAction, ApproveRegistrationAction, AreaIsCurrentlyGatingAction, AuthenticateSiteAccessRequestAction, BuildAccessGatePrivacyExportAction, ConsumeAccessGateClaimTokenAction, CreateAccessGateBrowserTokenAction, CreateAccessGateClaimTokenAction, CreateAccessGateGrantAction, CreatePaidAccessCheckoutForRegistrationAction, CreateRegistrationAction, and 32 more.
  • Data objects: AccessGateAccessResultData, AccessGatePrivacyRecordIdsData, AccessRequestMethodData, AnnouncementBarData, CreatePaidAccessCheckoutData, EffectiveSiteAccessPolicyData, IssuedAccessGateTokenData, PrunedAccessGateRecordsData, RegistrationFieldValue.
  • Command signatures: capell:access-gate-audit-export, capell:access-gate-doctor, capell:access-gate-install, capell:access-gate-prune, capell:access-gate-setup.
  • Manifest action API: install: Capell\AccessGate\Actions\InstallAccessGatePackageAction, paidAccessCheckout: Capell\AccessGate\Actions\CreatePaidAccessCheckoutForRegistrationAction, paidAccessCheckoutContribution: Capell\AccessGate\Manifest\PaidAccessCheckoutCreationContribution.
  • Console command classes: AccessGateAuditExportCommand, AccessGateDoctorCommand, AccessGateInstallCommand, AccessGatePruneCommand, AccessGateSetupCommand.
  • Manifest contributions: admin-resource: Capell\AccessGate\Manifest\AccessAreaResourceContribution, admin-resource: Capell\AccessGate\Manifest\AccessGateEventResourceContribution, admin-resource: Capell\AccessGate\Manifest\BrowserTokenResourceContribution, admin-resource: Capell\AccessGate\Manifest\ClaimTokenResourceContribution, admin-resource: Capell\AccessGate\Manifest\GrantResourceContribution, admin-resource: Capell\AccessGate\Manifest\RegistrationResourceContribution, console-command: Capell\AccessGate\Manifest\AccessGateConsoleCommandsContribution, dashboard-widget: Capell\AccessGate\Manifest\PendingAccessRequestsWidgetContribution, health-check: Capell\AccessGate\Manifest\AccessGateHealthContribution, migration: Capell\AccessGate\Manifest\AccessGateMigrationsContribution, model: Capell\AccessGate\Manifest\AccessGateModelsContribution, permission: Capell\AccessGate\Manifest\AccessGatePermissionsContribution, render-hook: Capell\AccessGate\Manifest\AccessGateRenderHookContribution, route: Capell\AccessGate\Manifest\AccessGateRoutesContribution.
  • Health checks: Capell\AccessGate\Health\AccessGateHealthCheck.
  • Blade views: packages/access-gate/resources/views/claimed.blade.php, packages/access-gate/resources/views/components/announcement-bar.blade.php, packages/access-gate/resources/views/components/request-cta.blade.php, packages/access-gate/resources/views/message.blade.php, packages/access-gate/resources/views/request.blade.php, packages/access-gate/resources/views/site-lockdown/unlock.blade.php.
  • Required tables: access_gate_areas, access_gate_registrations, access_gate_grants, access_gate_claim_tokens, access_gate_browser_tokens, access_gate_events, access_gate_site_access_policies.
  • Models: AccessGateModel, Area, BrowserToken, ClaimToken, Event, Grant, Registration, SiteAccessPolicy.
  • Core record references in migrations: sites via site_id, users via user_id.
  • Migration files: 2026_05_10_190838_01_create_access_gate_areas_table.php, 2026_05_10_190838_02_create_access_gate_registrations_table.php, 2026_05_10_190838_03_create_access_gate_grants_table.php, 2026_05_10_190838_04_create_access_gate_claim_tokens_table.php, 2026_05_10_190838_05_create_access_gate_browser_tokens_table.php, 2026_05_10_190838_06_create_access_gate_events_table.php, 2026_06_06_052053_01_create_access_gate_areas_table.php, 2026_06_06_052054_02_create_access_gate_registrations_table.php, 2026_06_06_052055_03_create_access_gate_grants_table.php, 2026_06_06_052056_04_create_access_gate_claim_tokens_table.php, 2026_06_06_052057_05_create_access_gate_browser_tokens_table.php, 2026_06_06_052058_06_create_access_gate_events_table.php, and 3 more.
  • Migration impact: run host migrations through the package install flow before opening package surfaces.
  • Deletion/retention behaviour: migrations declare cascade-on-delete relationships and null-on-delete relationships; no timed pruning or retention schedule is declared in capell.json.
  • Required packages: capell-app/admin, capell-app/core.
  • Admin navigation: declares admin-resource: AccessAreaResourceContribution, admin-resource: AccessGateEventResourceContribution, admin-resource: BrowserTokenResourceContribution, admin-resource: ClaimTokenResourceContribution, admin-resource: GrantResourceContribution, admin-resource: RegistrationResourceContribution; each Filament page or resource controls its own navigation visibility.
  • Admin/editor extensions: dashboard-widget: PendingAccessRequestsWidgetContribution.
  • Permissions: View:Area, Create:Area, Update:Area, Delete:Area, View:Registration, Update:Registration, View:Grant, Update:Grant, View:BrowserToken, Update:BrowserToken, View:ClaimToken, View:Event, ManageSiteAccess:Site.
  • Public routes: loads routes/web.php; registers AccessGateRoutesContribution.
  • Database changes: package migrations are declared.
  • Config: config/access-gate.php.
  • Settings: no package settings declared.
  • Queues or schedules: none declared.
  • Cache tags: none declared.
  • Commands: capell:access-gate-audit-export, capell:access-gate-doctor, capell:access-gate-install, capell:access-gate-prune, capell:access-gate-setup.
  • Keep required Capell packages on compatible v4 releases: capell-app/admin, capell-app/core.
  • Run migrations before opening package resources or public routes.
  • Review package configuration before production-like verification: config/access-gate.php.
  • Review middleware, throttling, signatures, and public-output safety in routes/web.php before exposing routes.
  • Keep public Blade and cached HTML free of authoring markers, model IDs, permissions, signed editor URLs, and lazy database queries.
Symptom Likely cause Check Fix
Package surface is missing after install Provider or manifest is not loaded Confirm capell.json, package composer.json, and provider registration Reinstall the package, refresh Composer autoload, and clear host caches
Admin screen or command fails on missing table Package migrations have not run Check the tables listed in Data Model Run host migrations and rerun the focused package test
Route returns unexpected output Route cache, middleware, or signed URL setup does not match the package route file Check the route files listed in Technical Shape Clear route cache and verify middleware before exposing public routes
Public output leaks unexpected state Render data, cache variation, or authoring boundary has regressed Check public Blade, cache tags, and public-output safety tests Move data loading out of Blade and rerun the package public-output tests
  1. Install the package: composer require capell-app/access-gate.
  2. Run the required setup: php artisan capell:access-gate-setup.
  3. Open /screenshot-fixtures/marketplace-access-gate/access-areas-admin-index and confirm the public output renders without admin state.