Error 401 Unauthorized

GET https://api.staging.innerorbit.com/robots.txt

Forwarded to ErrorController (0bfc0e)

Request / Response

Request

GET Parameters

None

POST Parameters

None

Uploaded Files

None

Request Attributes

Key Value
_audit_request_start
1769501642.7037
_controller
"App\Controller\ProxyController::proxyRequest"
_firewall_context
"security.firewall.map.context.api"
_remove_csp_headers
true
_route
"proxy_forward"
_route_params
[
  "path" => "robots.txt"
]
_security_authenticators
[]
_security_skipped_authenticators
[
  Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator {#2665
    -supports: false
    -passport: null
    -duration: null
    -stub: "App\Security\JwtAuthenticator"
    -authenticated: null
    -exception: null
    -authenticator: App\Security\JwtAuthenticator {#3690 …}
  }
]
_stopwatch_token
"4f0920"
path
"robots.txt"

Request Headers

Header Value
accept
"*/*"
accept-encoding
"gzip, br, zstd, deflate"
forwarded
"for="216.73.216.165";proto=https"
host
"api.staging.innerorbit.com"
traceparent
"00-cd58288a08b3abcd11e9dd5fda357736-01b922ea756a70ec-00"
user-agent
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
via
"1.1 google"
x-cloud-trace-context
"cd58288a08b3abcd11e9dd5fda357736/124168855117000940"
x-forwarded-for
"216.73.216.165,34.8.98.55"
x-forwarded-proto
"https"
x-php-ob-level
"1"

Request Content

Request content not available (it was retrieved as a resource).

Response

Response Headers

Header Value
cache-control
"no-cache, private"
content-security-policy
"default-src 'none'; frame-ancestors 'none'"
content-type
"text/html; charset=UTF-8"
date
"Tue, 27 Jan 2026 08:14:03 GMT"
permissions-policy
"accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()"
referrer-policy
"strict-origin-when-cross-origin"
vary
"Accept"
x-content-type-options
"nosniff"
x-debug-exception
"Full%20authentication%20is%20required%20to%20access%20this%20resource."
x-debug-exception-file
"%2Fapp%2Fvendor%2Fsymfony%2Fsecurity-http%2FFirewall%2FExceptionListener.php:216"
x-debug-token
"16e230"
x-debug-token-link
"https://api.staging.innerorbit.com/_profiler/0bfc0e"
x-frame-options
"DENY"
x-previous-debug-token
"0bfc0e"
x-robots-tag
"noindex"
x-xss-protection
"1; mode=block"

Cookies

Request Cookies

No request cookies

Response Cookies

No response cookies

Session

Session Metadata

No session metadata

Session Attributes

No session attributes

Session Usage

0 Usages
Stateless check enabled

Session not used.

Flashes

Flashes

No flash messages were created.

Server Parameters

Server Parameters

Defined in .env

Key Value
APP_SECRET
"f1930ff1b3dd2e7223813d95887cde03"
APP_SHARE_DIR
"var/share"
CORS_ALLOWED_ORIGINS
"["http://localhost:3000", "http://localhost:8080"]"
CORS_ALLOW_ORIGIN
"^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$"

Defined as regular env variables

Key Value
"/usr/local/bin/frankenphp"
ACCESS_TOKEN_TTL
"3600"
APP_DEBUG
"1"
APP_ENV
"dev"
APP_PROJECT_DIR
"/app"
APP_RUNTIME
"Runtime\FrankenPhpSymfony\Runtime"
APP_RUNTIME_MODE
"web=1&worker=1"
APP_RUNTIME_OPTIONS
[
  "project_dir" => "/app"
]
AUTH_TYPE
""
CIRCUIT_BREAKER_FAILURE_THRESHOLD
"5"
CIRCUIT_BREAKER_RECOVERY_TIMEOUT
"30"
CIRCUIT_BREAKER_SUCCESS_THRESHOLD
"2"
CLOUD_RUN_TIMEOUT_SECONDS
"3600"
COMPOSER_ALLOW_SUPERUSER
"1"
COMPOSER_CACHE_DIR
"/tmp"
COMPOSER_NO_INTERACTION
"1"
CONTENT_LENGTH
""
CONTENT_TYPE
""
DATA_EXPORT_SERVICE_URL
"https://dea-staging-innerorbit-staging.us-central1.run.app"
DEFAULT_URI
"https://nexus-staging-innerorbit-staging.us-central1.run.app"
DOCUMENT_ROOT
"/app/public"
DOCUMENT_URI
"index.php"
FRANKENPHP_WORKER
"1"
FRANKENPHP_WORKER_CONFIG
""
GATEWAY_INTERFACE
"CGI/1.1"
GCP_PROJECT_ID
"innerorbit-staging"
GLEAN_SERVICE_URL
"https://glean-staging-innerorbit-staging.us-central1.run.app"
GODEBUG
"cgocheck=0"
GPG_KEYS
"1198C0117593497A5EC5C199286AF1F9897469DC 49D9AF6BC72A80D6691719C8AA23F5BE9C7097D4 D95C03BC702BE9515344AE3374E44BC9067701A5"
HOME
"/root"
HTTPS
""
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_FORWARDED
"for="216.73.216.165";proto=https"
HTTP_HOST
"api.staging.innerorbit.com"
HTTP_TRACEPARENT
"00-cd58288a08b3abcd11e9dd5fda357736-01b922ea756a70ec-00"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_VIA
"1.1 google"
HTTP_X_CLOUD_TRACE_CONTEXT
"cd58288a08b3abcd11e9dd5fda357736/124168855117000940"
HTTP_X_FORWARDED_FOR
"216.73.216.165,34.8.98.55"
HTTP_X_FORWARDED_PROTO
"https"
K_CONFIGURATION
"nexus-staging"
K_REVISION
"nexus-staging-00023-v9m"
K_SERVICE
"nexus-staging"
NEXUS_SECRET
"nexus-staging"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
PATH_INFO
""
PHPIZE_DEPS
"autoconf \t\tdpkg-dev dpkg \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkgconf \t\tre2c"
PHP_ASC_URL
"https://www.php.net/distributions/php-8.5.2.tar.xz.asc"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
PHP_INI_DIR
"/usr/local/etc/php"
PHP_LDFLAGS
"-Wl,-O1 -pie"
PHP_SELF
"index.php"
PHP_SHA256
"cb75a9b00a2806f7390dd64858ef42a47b443b3475769c8af6af33a18b1381f1"
PHP_URL
"https://www.php.net/distributions/php-8.5.2.tar.xz"
PHP_VERSION
"8.5.2"
PORT
"80"
PWD
"/app"
QUERY_STRING
""
RATE_LIMIT_DISTRICT
"1000"
RATE_LIMIT_GLOBAL
"10000"
RATE_LIMIT_USER
"100"
REFRESH_TOKEN_TTL
"2592000"
REMOTE_ADDR
"169.254.169.126"
REMOTE_HOST
"169.254.169.126"
REMOTE_IDENT
""
REMOTE_PORT
"57504"
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"http"
REQUEST_TIME
1769501642
REQUEST_TIME_FLOAT
1769501642.7022
REQUEST_URI
"/robots.txt"
SCRIPT_FILENAME
"/app/public/index.php"
SCRIPT_NAME
"/index.php"
SERVER_NAME
"api.staging.innerorbit.com"
SERVER_PORT
"80"
SERVER_PROTOCOL
"HTTP/1.1"
SERVER_SOFTWARE
"FrankenPHP"
SHLVL
"2"
SSL_CIPHER
""
SSL_PROTOCOL
""
SYMFONY_DOTENV_PATH
"/app/.env"
SYMFONY_DOTENV_VARS
"CORS_ALLOW_ORIGIN,CORS_ALLOWED_ORIGINS,APP_SHARE_DIR,APP_SECRET"
TRUSTED_PROXIES
"REMOTE_ADDR"
XDG_CONFIG_HOME
"/config"
XDG_DATA_HOME
"/data"

Sub Requests 1

ErrorController (token = 0bfc0e)

Key Value
_controller
"error_controller"
_stopwatch_token
"0bb9fe"
exception
Symfony\Component\HttpKernel\Exception\HttpException {#690
  #message: "Full authentication is required to access this resource."
  #code: 0
  #file: "/app/vendor/symfony/security-http/Firewall/ExceptionListener.php"
  #line: 216
  -previous: Symfony\Component\Security\Core\Exception\InsufficientAuthenticationException {#3330 …}
  -statusCode: 401
  -headers: []
  trace: {
    /app/vendor/symfony/security-http/Firewall/ExceptionListener.php:216 {
      Symfony\Component\Security\Http\Firewall\ExceptionListener->throwUnauthorizedException(AuthenticationException $authException): never …
      › 
      ›     throw new HttpException(Response::HTTP_UNAUTHORIZED, $authException->getMessage(), $authException, [], $authException->getCode());}
    }
    /app/vendor/symfony/security-http/Firewall/ExceptionListener.php:179 {
      Symfony\Component\Security\Http\Firewall\ExceptionListener->startAuthentication(Request $request, AuthenticationException $authException): Response …
      › if (null === $this->authenticationEntryPoint) {    $this->throwUnauthorizedException($authException);}
      arguments: {
        $authException: Symfony\Component\Security\Core\Exception\InsufficientAuthenticationException {#3330 …}
      }
    }
    /app/vendor/symfony/security-http/Firewall/ExceptionListener.php:138 {
      Symfony\Component\Security\Http\Firewall\ExceptionListener->handleAccessDeniedException(ExceptionEvent $event, AccessDeniedException $exception): void …
      › 
      ›     $event->setResponse($this->startAuthentication($event->getRequest(), $insufficientAuthenticationException));} catch (\Exception $e) {
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#2523 …}
        $authException: Symfony\Component\Security\Core\Exception\InsufficientAuthenticationException {#3330 …}
      }
    }
    /app/vendor/symfony/security-http/Firewall/ExceptionListener.php:93 {
      Symfony\Component\Security\Http\Firewall\ExceptionListener->onKernelException(ExceptionEvent $event): void …
      › if ($exception instanceof AccessDeniedException) {    $this->handleAccessDeniedException($event, $exception);arguments: {
        $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
        $exception: Symfony\Component\Security\Core\Exception\AccessDeniedException {#3157 …}
      }
    }
    /app/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115 {
      Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object $event, string $eventName, EventDispatcherInterface $dispatcher): void …
      › try {    ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);} finally {
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
        ...: {
          "kernel.exception"
          Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#117 …}
        }
      }
    }
    /app/vendor/symfony/event-dispatcher/EventDispatcher.php:206 {
      Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, object $event): void …
      ›     }    $listener($event, $eventName, $this);}
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
        $eventName: "kernel.exception"
        $dispatcher: Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#117 …}
      }
    }
    /app/vendor/symfony/event-dispatcher/EventDispatcher.php:56 {
      Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object $event, ?string $eventName = null): object …
      › if ($listeners) {    $this->callListeners($listeners, $eventName, $event);}
      arguments: {
        $listeners: [ …10]
        $eventName: "kernel.exception"
        $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
      }
    }
    /app/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126 {
      Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object $event, ?string $eventName = null): object …
      › try {    $this->dispatcher->dispatch($event, $eventName);} finally {
      arguments: {
        $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
        $eventName: "kernel.exception"
      }
    }
    /app/vendor/symfony/http-kernel/HttpKernel.php:241 {
      Symfony\Component\HttpKernel\HttpKernel->handleThrowable(Throwable $e, Request $request, int $type): Response …
      › $event = new ExceptionEvent($this, $request, $type, $e, isKernelTerminating: $this->terminating);$this->dispatcher->dispatch($event, KernelEvents::EXCEPTION);arguments: {
        $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
        $eventName: "kernel.exception"
      }
    }
    /app/vendor/symfony/http-kernel/HttpKernel.php:91 {
      Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
      › 
      ›     return $response = $this->handleThrowable($e, $request, $type);} finally {
      arguments: {
        $e: Symfony\Component\Security\Core\Exception\AccessDeniedException {#3157 …}
        $request: Symfony\Component\HttpFoundation\Request {#2523 …}
        $type: 1
      }
    }
    /app/vendor/symfony/http-kernel/Kernel.php:193 {
      Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
      › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#2523 …}
        $type: 1
        $catch: true
      }
    }
    /app/vendor/runtime/frankenphp-symfony/src/Runner.php:38 {
      Runtime\FrankenPhpSymfony\Runner->{closure:Runtime\FrankenPhpSymfony\Runner::run():33} …
      › $sfRequest = Request::createFromGlobals();$sfResponse = $this->kernel->handle($sfRequest);arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#2523 …}
      }
    }
    Runtime\FrankenPhpSymfony\Runner->{closure:Runtime\FrankenPhpSymfony\Runner::run():33}() {}
    /app/vendor/runtime/frankenphp-symfony/src/Runner.php:45 {
      Runtime\FrankenPhpSymfony\Runner->run(): int …
      › do {    $ret = \frankenphp_handle_request($handler);arguments: {
        $callback: Closure(): void {#2 …}
      }
    }
    /app/vendor/autoload_runtime.php:32 {
      require_once …
      ›         ->getRunner($app)        ->run());
    }
    /app/public/index.php:7 {
      › 
      › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';arguments: {
        "/app/vendor/autoload_runtime.php"
      }
    }
  }
}
logger
Symfony\Bridge\Monolog\Processor\DebugProcessor {#125
  -records: [
    2523 => [
      [
        "timestamp" => 1769501642
        "timestamp_rfc3339" => "2026-01-27T08:14:02.704+00:00"
        "message" => "Matched route "{route}"."
        "priority" => 200
        "priorityName" => "INFO"
        "context" => [
          "route" => "proxy_forward"
          "route_parameters" => [
            "_route" => "proxy_forward"
            "_controller" => "App\Controller\ProxyController::proxyRequest"
            "path" => "robots.txt"
          ]
          "request_uri" => "https://api.staging.innerorbit.com/robots.txt"
          "method" => "GET"
        ]
        "channel" => "request"
      ]
      [
        "timestamp" => 1769501642
        "timestamp_rfc3339" => "2026-01-27T08:14:02.962+00:00"
        "message" => "JwtService using Cloud KMS (RS256)"
        "priority" => 200
        "priorityName" => "INFO"
        "context" => []
        "channel" => "app"
      ]
      [
        "timestamp" => 1769501642
        "timestamp_rfc3339" => "2026-01-27T08:14:02.962+00:00"
        "message" => "Checking for authenticator support."
        "priority" => 100
        "priorityName" => "DEBUG"
        "context" => [
          "firewall_name" => "api"
          "authenticators" => 1
        ]
        "channel" => "security"
      ]
      [
        "timestamp" => 1769501642
        "timestamp_rfc3339" => "2026-01-27T08:14:02.962+00:00"
        "message" => "Checking support on authenticator."
        "priority" => 100
        "priorityName" => "DEBUG"
        "context" => [
          "firewall_name" => "api"
          "authenticator" => "Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator"
        ]
        "channel" => "security"
      ]
      [
        "timestamp" => 1769501642
        "timestamp_rfc3339" => "2026-01-27T08:14:02.962+00:00"
        "message" => "Authenticator does not support the request."
        "priority" => 100
        "priorityName" => "DEBUG"
        "context" => [
          "firewall_name" => "api"
          "authenticator" => "Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator"
        ]
        "channel" => "security"
      ]
      [
        "timestamp" => 1769501642
        "timestamp_rfc3339" => "2026-01-27T08:14:02.963+00:00"
        "message" => "Access denied, the user is not fully authenticated; redirecting to authentication entry point."
        "priority" => 100
        "priorityName" => "DEBUG"
        "context" => [
          "exception" => Symfony\Component\Security\Core\Exception\AccessDeniedException {#3157 …}
        ]
        "channel" => "security"
      ]
      [
        "timestamp" => 1769501642
        "timestamp_rfc3339" => "2026-01-27T08:14:02.964+00:00"
        "message" => "No Authentication entry point configured, returning a 401 HTTP response. Configure "entry_point" on the firewall "api" if you want to modify the response."
        "priority" => 250
        "priorityName" => "NOTICE"
        "context" => []
        "channel" => "security"
      ]
      [
        "timestamp" => 1769501642
        "timestamp_rfc3339" => "2026-01-27T08:14:02.964+00:00"
        "message" => "Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\HttpException: "Full authentication is required to access this resource." at ExceptionListener.php line 216"
        "priority" => 400
        "priorityName" => "ERROR"
        "context" => [
          "exception" => Symfony\Component\HttpKernel\Exception\HttpException {#690
            #message: "Full authentication is required to access this resource."
            #code: 0
            #file: "/app/vendor/symfony/security-http/Firewall/ExceptionListener.php"
            #line: 216
            -previous: Symfony\Component\Security\Core\Exception\InsufficientAuthenticationException {#3330 …}
            -statusCode: 401
            -headers: []
            trace: {
              /app/vendor/symfony/security-http/Firewall/ExceptionListener.php:216 {
                Symfony\Component\Security\Http\Firewall\ExceptionListener->throwUnauthorizedException(AuthenticationException $authException): never …
                › 
                ›     throw new HttpException(Response::HTTP_UNAUTHORIZED, $authException->getMessage(), $authException, [], $authException->getCode());}
              }
              /app/vendor/symfony/security-http/Firewall/ExceptionListener.php:179 {
                Symfony\Component\Security\Http\Firewall\ExceptionListener->startAuthentication(Request $request, AuthenticationException $authException): Response …
                › if (null === $this->authenticationEntryPoint) {    $this->throwUnauthorizedException($authException);}
                arguments: {
                  $authException: Symfony\Component\Security\Core\Exception\InsufficientAuthenticationException {#3330 …}
                }
              }
              /app/vendor/symfony/security-http/Firewall/ExceptionListener.php:138 {
                Symfony\Component\Security\Http\Firewall\ExceptionListener->handleAccessDeniedException(ExceptionEvent $event, AccessDeniedException $exception): void …
                › 
                ›     $event->setResponse($this->startAuthentication($event->getRequest(), $insufficientAuthenticationException));} catch (\Exception $e) {
                arguments: {
                  $request: Symfony\Component\HttpFoundation\Request {#2523 …}
                  $authException: Symfony\Component\Security\Core\Exception\InsufficientAuthenticationException {#3330 …}
                }
              }
              /app/vendor/symfony/security-http/Firewall/ExceptionListener.php:93 {
                Symfony\Component\Security\Http\Firewall\ExceptionListener->onKernelException(ExceptionEvent $event): void …
                › if ($exception instanceof AccessDeniedException) {    $this->handleAccessDeniedException($event, $exception);arguments: {
                  $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
                  $exception: Symfony\Component\Security\Core\Exception\AccessDeniedException {#3157 …}
                }
              }
              /app/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115 {
                Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object $event, string $eventName, EventDispatcherInterface $dispatcher): void …
                › try {    ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);} finally {
                arguments: {
                  $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
                  ...: {
                    "kernel.exception"
                    Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#117 …}
                  }
                }
              }
              /app/vendor/symfony/event-dispatcher/EventDispatcher.php:206 {
                Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, object $event): void …
                ›     }    $listener($event, $eventName, $this);}
                arguments: {
                  $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
                  $eventName: "kernel.exception"
                  $dispatcher: Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher {#117 …}
                }
              }
              /app/vendor/symfony/event-dispatcher/EventDispatcher.php:56 {
                Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object $event, ?string $eventName = null): object …
                › if ($listeners) {    $this->callListeners($listeners, $eventName, $event);}
                arguments: {
                  $listeners: [ …10]
                  $eventName: "kernel.exception"
                  $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
                }
              }
              /app/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126 {
                Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object $event, ?string $eventName = null): object …
                › try {    $this->dispatcher->dispatch($event, $eventName);} finally {
                arguments: {
                  $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
                  $eventName: "kernel.exception"
                }
              }
              /app/vendor/symfony/http-kernel/HttpKernel.php:241 {
                Symfony\Component\HttpKernel\HttpKernel->handleThrowable(Throwable $e, Request $request, int $type): Response …
                › $event = new ExceptionEvent($this, $request, $type, $e, isKernelTerminating: $this->terminating);$this->dispatcher->dispatch($event, KernelEvents::EXCEPTION);arguments: {
                  $event: Symfony\Component\HttpKernel\Event\ExceptionEvent {#944 …}
                  $eventName: "kernel.exception"
                }
              }
              /app/vendor/symfony/http-kernel/HttpKernel.php:91 {
                Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › 
                ›     return $response = $this->handleThrowable($e, $request, $type);} finally {
                arguments: {
                  $e: Symfony\Component\Security\Core\Exception\AccessDeniedException {#3157 …}
                  $request: Symfony\Component\HttpFoundation\Request {#2523 …}
                  $type: 1
                }
              }
              /app/vendor/symfony/http-kernel/Kernel.php:193 {
                Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true): Response …
                › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
                arguments: {
                  $request: Symfony\Component\HttpFoundation\Request {#2523 …}
                  $type: 1
                  $catch: true
                }
              }
              /app/vendor/runtime/frankenphp-symfony/src/Runner.php:38 {
                Runtime\FrankenPhpSymfony\Runner->{closure:Runtime\FrankenPhpSymfony\Runner::run():33} …
                › $sfRequest = Request::createFromGlobals();$sfResponse = $this->kernel->handle($sfRequest);arguments: {
                  $request: Symfony\Component\HttpFoundation\Request {#2523 …}
                }
              }
              Runtime\FrankenPhpSymfony\Runner->{closure:Runtime\FrankenPhpSymfony\Runner::run():33}() {}
              /app/vendor/runtime/frankenphp-symfony/src/Runner.php:45 {
                Runtime\FrankenPhpSymfony\Runner->run(): int …
                › do {    $ret = \frankenphp_handle_request($handler);arguments: {
                  $callback: Closure(): void {#2 …}
                }
              }
              /app/vendor/autoload_runtime.php:32 {
                require_once …
                ›         ->getRunner($app)        ->run());
              }
              /app/public/index.php:7 {
                › 
                › require_once dirname(__DIR__).'/vendor/autoload_runtime.php';arguments: {
                  "/app/vendor/autoload_runtime.php"
                }
              }
            }
          }
        ]
        "channel" => "request"
      ]
      [
        "timestamp" => 1769501643
        "timestamp_rfc3339" => "2026-01-27T08:14:03.027+00:00"
        "message" => "audit_event"
        "priority" => 300
        "priorityName" => "WARNING"
        "context" => [
          "user_id" => null
          "district_id" => null
          "api_key_id" => null
          "resource_type" => "robots.txt"
          "resource_id" => null
          "action" => "read"
          "timestamp" => "2026-01-27T08:14:03.027+00:00"
          "ip_address" => "34.8.98.55"
          "user_agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
          "ferpa" => [
            "legitimate_educational_interest" => null
            "consent_verified" => null
          ]
          "request" => [
            "path" => "/robots.txt"
            "method" => "GET"
          ]
          "response" => [
            "status" => 401
            "error" => null
            "duration_ms" => 323.63
          ]
        ]
        "channel" => "audit"
      ]
    ]
  ]
  -errorCount: [
    2523 => 1
  ]
  -requestStack: Symfony\Component\HttpKernel\Debug\VirtualRequestStack {#124 …}
}