Access Gate
Package docs status
Section titled “Package docs status”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 |
What This Plugin Adds
Section titled “What This Plugin Adds”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.
Status details:
- Status: Available
- Tier: premium
- Bundle: security-compliance
- Composer package:
capell-app/access-gate - Namespace:
Capell\AccessGate - Theme key: not applicable
Why It Matters
Section titled “Why It Matters”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.
Screens And Workflow
Section titled “Screens And Workflow”Screenshot contract: docs/screenshots.json.




- 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).
Technical Shape
Section titled “Technical Shape”Service providers
Section titled “Service providers”Capell\AccessGate\Providers\AccessGateServiceProvider
Config files
Section titled “Config files”packages/access-gate/config/access-gate.php
Migrations
Section titled “Migrations”packages/access-gate/database/migrations/2026_05_10_190838_01_create_access_gate_areas_table.phppackages/access-gate/database/migrations/2026_05_10_190838_02_create_access_gate_registrations_table.phppackages/access-gate/database/migrations/2026_05_10_190838_03_create_access_gate_grants_table.phppackages/access-gate/database/migrations/2026_05_10_190838_04_create_access_gate_claim_tokens_table.phppackages/access-gate/database/migrations/2026_05_10_190838_05_create_access_gate_browser_tokens_table.phppackages/access-gate/database/migrations/2026_05_10_190838_06_create_access_gate_events_table.phppackages/access-gate/database/migrations/2026_06_06_052053_01_create_access_gate_areas_table.phppackages/access-gate/database/migrations/2026_06_06_052054_02_create_access_gate_registrations_table.phppackages/access-gate/database/migrations/2026_06_06_052055_03_create_access_gate_grants_table.phppackages/access-gate/database/migrations/2026_06_06_052056_04_create_access_gate_claim_tokens_table.phppackages/access-gate/database/migrations/2026_06_06_052057_05_create_access_gate_browser_tokens_table.phppackages/access-gate/database/migrations/2026_06_06_052058_06_create_access_gate_events_table.phppackages/access-gate/database/migrations/2026_06_08_101249_add_claim_landing_url_to_access_gate_areas_table.phppackages/access-gate/database/migrations/2026_06_14_000001_add_announcement_bar_fields_to_access_gate_areas_table.phppackages/access-gate/database/migrations/2026_07_20_000001_create_access_gate_site_access_policies_table.phppackages/access-gate/database/migrations/2026_09_29_120000_remove_implicit_timestamp_updates_from_access_gate.php
Models
Section titled “Models”AccessGateModelAreaBrowserTokenClaimTokenEventGrantRegistrationSiteAccessPolicy
Filament classes
Section titled “Filament classes”AccessGateSiteSchemaExtenderAccessAreaResourceCreateAccessAreaEditAccessAreaListAccessAreasBrowserTokenResourceListBrowserTokensClaimTokenResourceListClaimTokensAccessGateEventResourceListAccessGateEventsGrantResourceListGrantsListRegistrationsRegistrationResourcePendingAccessRequestsFilamentWidget
Route files
Section titled “Route files”packages/access-gate/routes/web.php
Policies
Section titled “Policies”AbstractAccessGateResourcePolicyAccessAreaPolicyAccessGateEventPolicyBrowserTokenPolicyClaimTokenPolicyGrantPolicyRegistrationPolicy
Extension contracts
Section titled “Extension contracts”AccessRequestMethodAdminNotificationRecipientResolverRegistrationField
Events
Section titled “Events”RegistrationApproved
Listeners
Section titled “Listeners”CopySiteAccessPoliciesOnSiteReplicatedNotifyAdminsOfAccessRequest
Actions
Section titled “Actions”ApplySiteAccessPolicySiteSpecActionApproveNextRegistrationsActionApproveRegistrationActionAreaIsCurrentlyGatingActionAuthenticateSiteAccessRequestActionBuildAccessGatePrivacyExportActionConsumeAccessGateClaimTokenActionCreateAccessGateBrowserTokenActionCreateAccessGateClaimTokenActionCreateAccessGateGrantActionCreatePaidAccessCheckoutForRegistrationActionCreateRegistrationActionEnsureAccessGateGrantCanIssueTokenActionEraseAccessGatePrivacyDataActionExpireRegistrationActionExportAccessGateAuditCsvActionExportSiteAccessPolicyShapeActionGetAccessAreaSiteOptionsActionInstallAccessGatePackageActionListAccessRequestMethodsActionPruneAccessGateRecordsActionRecordEventActionRecordSiteLockdownAttemptActionRegisterAccessGateFrontendRenderHooksActionRegisterAccessGateRateLimitersActionRegisterAccessGateRequestNotificationsActionRejectRegistrationActionResendAccessGateClaimTokenActionResolveAccessGateAccessActionResolveAccessGateAnnouncementBarActionResolveAccessGateAreaForRequestActionResolveAccessGatePrivacyRecordIdsActionResolveEffectiveSiteAccessPolicyActionRevealRecoverableDomainSiteAccessPasswordActionRevealRecoverableSiteAccessPasswordActionRevokeAccessGateBrowserTokenActionRevokeAccessGateBrowserTokenRecordActionRevokeAccessGateGrantActionSendAccessGateApprovedNotificationActionSetupDefaultAccessAreaActionSubmitAccessGatePublicActionUpdateAccessGateApprovalLimitActionUpdateAccessGateAreaStatusActionUpdateSiteAccessPoliciesAction
Data objects
Section titled “Data objects”AccessGateAccessResultDataAccessGatePrivacyRecordIdsDataAccessRequestMethodDataAnnouncementBarDataCreatePaidAccessCheckoutDataEffectiveSiteAccessPolicyDataIssuedAccessGateTokenDataPrunedAccessGateRecordsDataRegistrationFieldValue
Command signatures
Section titled “Command signatures”capell:access-gate-audit-exportcapell:access-gate-doctorcapell:access-gate-installcapell:access-gate-prunecapell:access-gate-setup
Manifest action API
Section titled “Manifest action API”install: Capell\AccessGate\Actions\InstallAccessGatePackageActionpaidAccessCheckout: Capell\AccessGate\Actions\CreatePaidAccessCheckoutForRegistrationActionpaidAccessCheckoutContribution: Capell\AccessGate\Manifest\PaidAccessCheckoutCreationContribution
Console command classes
Section titled “Console command classes”AccessGateAuditExportCommandAccessGateDoctorCommandAccessGateInstallCommandAccessGatePruneCommandAccessGateSetupCommand
Manifest contributions
Section titled “Manifest contributions”admin-resource: Capell\AccessGate\Manifest\AccessAreaResourceContributionadmin-resource: Capell\AccessGate\Manifest\AccessGateEventResourceContributionadmin-resource: Capell\AccessGate\Manifest\BrowserTokenResourceContributionadmin-resource: Capell\AccessGate\Manifest\ClaimTokenResourceContributionadmin-resource: Capell\AccessGate\Manifest\GrantResourceContributionadmin-resource: Capell\AccessGate\Manifest\RegistrationResourceContributionconsole-command: Capell\AccessGate\Manifest\AccessGateConsoleCommandsContributiondashboard-widget: Capell\AccessGate\Manifest\PendingAccessRequestsWidgetContributionhealth-check: Capell\AccessGate\Manifest\AccessGateHealthContributionmigration: Capell\AccessGate\Manifest\AccessGateMigrationsContributionmodel: Capell\AccessGate\Manifest\AccessGateModelsContributionpermission: Capell\AccessGate\Manifest\AccessGatePermissionsContributionrender-hook: Capell\AccessGate\Manifest\AccessGateRenderHookContributionroute: Capell\AccessGate\Manifest\AccessGateRoutesContribution
Health checks
Section titled “Health checks”Capell\AccessGate\Health\AccessGateHealthCheck
Blade views
Section titled “Blade views”packages/access-gate/resources/views/claimed.blade.phppackages/access-gate/resources/views/components/announcement-bar.blade.phppackages/access-gate/resources/views/components/request-cta.blade.phppackages/access-gate/resources/views/message.blade.phppackages/access-gate/resources/views/request.blade.phppackages/access-gate/resources/views/site-lockdown/unlock.blade.php
Data Model
Section titled “Data Model”- 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,2026_06_08_101249_add_claim_landing_url_to_access_gate_areas_table.php,2026_06_14_000001_add_announcement_bar_fields_to_access_gate_areas_table.php,2026_07_20_000001_create_access_gate_site_access_policies_table.php,2026_09_29_120000_remove_implicit_timestamp_updates_from_access_gate.php. - 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.
Install Impact
Section titled “Install Impact”- 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; access also governed by package policies:AbstractAccessGateResourcePolicy,AccessAreaPolicy,AccessGateEventPolicy,BrowserTokenPolicy,ClaimTokenPolicy,GrantPolicy,RegistrationPolicy. - Public routes: loads
routes/web.php; registersAccessGateRoutesContribution. - 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.
Common Pitfalls
Section titled “Common Pitfalls”- 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.phpbefore exposing routes. - Keep public Blade and cached HTML free of authoring markers, model IDs, permissions, signed editor URLs, and lazy database queries.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Package health check reports a problem | Package configuration or runtime dependencies are not ready | Run php artisan capell:access-gate-doctor | Follow the reported checks, then rerun the doctor command |
| 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 |
Quick Start
Section titled “Quick Start”- Install the package:
composer require capell-app/access-gate. - Run the package setup:
php artisan capell:access-gate-install. - Open
/access/request/capell-previewand confirm the public output renders without admin state.
Next Steps
Section titled “Next Steps”- Package docs
- Overview
- Worked extension examples
- Admin guide
- Configuration files:
config/access-gate.php. - Troubleshooting
- Screenshot contract
- Marketplace assets
- Capell content language plan
- Capell documentation design system
- Capell and package ERD notes
- Related packages: Customer Portal, Diagnostics, Html Cache, Payments, Public Actions.