Repository Analysis

goauthentik/authentik

The authentication glue you need.

8.8 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of goauthentik/authentik, a Python project with 22,576 GitHub stars. SynthScan v2.0 examined 803,096 lines of code across 4940 source files, recording 5679 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 8.8 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

8.8
Adjusted Score
8.8
Raw Score
100%
Time Factor
2026-08-02
Last Push
22.6K
Stars
Python
Language
803.1K
Lines of Code
4.9K
Files
5.7K
Pattern Hits
2026-08-02
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 31HIGH 42MEDIUM 42LOW 5564

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 5679 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers5119 hits · 5917 pts
SeverityFileLineSnippetContext
LOWweb/src/admin/blueprints/BlueprintListPage.ts59export function formatBlueprintDescription(item: BlueprintInstance): string | null {CODE
LOW…src/admin/object-attributes/ObjectAttributeListPage.ts22export function formatObjectAttributeType(type?: ObjectAttributeTypeEnum): string {CODE
LOWweb/src/admin/stages/authenticator_webauthn/utils.ts7export function deviceTypeRestrictionPair(item: WebAuthnDeviceType): DualSelectPair {CODE
LOWweb/src/admin/stages/captcha/shared.ts204export function detectProviderFromInstance(stage?: CaptchaStage | null): CaptchaProviderKey {CODE
LOW…ator_validate/AuthenticatorValidateStageFormHelpers.ts44export async function authenticatorWebauthnDeviceTypesListProvider(page = 1, search = "") {CODE
LOW…rosoft_entra/MicrosoftEntraProviderPropertyMappings.ts7export async function microsoftEntraPropertyMappingsProvider(page = 1, search = "") {CODE
LOW…rosoft_entra/MicrosoftEntraProviderPropertyMappings.ts22export function makeMicrosoftEntraPropertyMappingsSelector(CODE
LOWweb/src/admin/providers/proxy/ProxyProviderFormForm.ts119function renderForwardSingleSettings(CODE
LOWweb/src/admin/providers/proxy/ProxyProviderFormForm.ts143function renderForwardDomainSettings(CODE
LOWweb/src/admin/providers/saml/SAMLProviderOptions.ts101export function retrieveSignatureAlgorithm(CODE
LOWweb/src/admin/lifecycle/LifecycleRuleForm.ts69function formatContentTypePlaceholder(contentType: ContentTypeEnum): string {CODE
LOWweb/src/admin/requests/RequestRuleForm.ts29function createNotificationModeOptions(): RadioOption<NotificationModeEnum>[] {CODE
LOWweb/src/admin/users/UserActiveForm.ts90export function ToggleUserActivationButton(CODE
LOW…rc/admin/applications/wizard/steps/providers/shared.ts52export function isApplicationTransactionValidationError(CODE
LOWweb/src/admin/sources/kerberos/KerberosSourceForm.ts42function createSyncOutgoingTriggerModeOptions(): RadioOption<SyncOutgoingTriggerModeEnum>[] {CODE
LOWweb/src/admin/sources/ldap/LDAPSourceForm.ts35function createSyncOutgoingTriggerModeOptions(): RadioOption<SyncOutgoingTriggerModeEnum>[] {CODE
LOWweb/src/admin/flows/StageBindingForm.ts30function createInvalidResponseOptions(): RadioOption<InvalidResponseActionEnum>[] {CODE
LOWweb/src/components/notifications/utils.ts19export function createPaginatedNotificationListFrom(CODE
LOWweb/src/components/notifications/utils.ts59export function renderNotificationDrawerPanel({ notifications, api }: DrawerState) {CODE
LOWweb/src/common/collections.ts21export function checkIterableShallowEquality(CODE
LOWweb/src/common/collections.ts36export function checkObjectShallowEquality(CODE
LOWweb/src/common/users.ts43export function formatDisambiguatedUserDisplayName(CODE
LOWweb/src/common/users.ts47export function formatDisambiguatedUserDisplayName(CODE
LOWweb/src/common/users.ts51export function formatDisambiguatedUserDisplayName(CODE
LOWweb/src/common/theme.ts330function pluckCurrentBackgroundURL(CODE
LOWweb/src/common/theme.ts358export function applyBackgroundImageProperty(CODE
LOWweb/src/common/labels.ts116export function formatDeviceChallengeMessage(deviceChallenge?: DeviceChallenge | null): string {CODE
LOWweb/src/common/ui/locale/utils.ts49function getParsedSupportedLocales(): ParsedLocale[] {CODE
LOWweb/src/common/ui/locale/utils.ts232export function formatAcceptLanguageHeader(languageTag: Intl.UnicodeBCP47LocaleIdentifier): string {CODE
LOWweb/src/common/ui/locale/format.ts214export function formatRelativeLocaleDisplayName(CODE
LOWweb/src/common/ui/locale/format.ts240export function formatAutoDetectLocaleDisplayName(detectedLocale?: LocaleDisplay | null) {CODE
LOWweb/src/common/ui/locale/cjk.ts119export function resolveChineseScriptLegacy(candidate: string): HanScriptTag {CODE
LOWweb/src/common/errors/network.ts140export function createSyntheticGenericError(detail?: string): GenericError {CODE
LOWweb/src/common/errors/network.ts171export function composeResponseErrorDescriptor(descriptor: ResponseErrorDescriptor): string {CODE
LOWweb/src/common/helpers/webauthn.ts34export function isWebAuthnNotAllowedError(error: unknown): error is DOMException {CODE
LOWweb/src/common/helpers/webauthn.ts41export async function isConditionalMediationAvailable(): Promise<boolean> {CODE
LOWweb/src/common/helpers/webauthn.ts55export function transformCredentialCreateOptions(CODE
LOWweb/src/common/helpers/webauthn.ts90export function transformNewAssertionForServer(newAssertion: PublicKeyCredential): Assertion {CODE
LOWweb/src/common/helpers/webauthn.ts110export function transformCredentialRequestOptions(CODE
LOWweb/src/common/helpers/webauthn.ts146export function transformAssertionForServer(newAssertion: PublicKeyCredential): AuthAssertion {CODE
LOWweb/src/elements/CodeMirror/shared.ts16export function stringifyCodeMirrorSource(value: unknown, mode: CodeMirrorMode): string {CODE
LOW…/src/elements/buttons/IconEnrollmentTokenCopyButton.ts11export function IconEnrollmentTokenCopyButton(tokenUuid?: string | null): SlottedTemplateResult {CODE
LOWweb/src/elements/decorators/listen.ts115 target.disconnectedCallback = function disconnectedCallbackWrapped(this: T) {CODE
LOWweb/src/elements/decorators/intersection-observer.ts136 this.disconnectedCallback = function disconnectedCallbackWrapper(CODE
LOWweb/src/elements/utils/unsafe.ts18export function assertAKRegisteredElement(CODE
LOWweb/src/elements/dialogs/shared.ts172export function isTransclusionParentElement(CODE
LOW…/src/elements/controllers/ContextControllerRegistry.ts10function supportsSymbolKeyedWeakMap(): boolean {CODE
LOWweb/src/polyfill/custom-elements-get-name.ts25export function applyCustomElementsGetNamePolyfill(CODE
LOWweb/src/flow/tabs/orchestrator.ts46export function suppressNextExitForSameOriginNavigation() {CODE
LOWweb/src/flow/tabs/orchestrator.ts120export async function multiTabOrchestrateResume() {CODE
LOW…w/stages/authenticator_validate/challenge-selection.ts3export function shouldResetSelectedChallenge(CODE
LOW…s/authenticator_validate/AuthenticatorValidateStage.ts84export function resolveAuthenticatorComponentTag(CODE
LOW…ite/docusaurus-theme/components/VersionPicker/utils.ts61export function useCachedVersionPluginData(): AKReleasesPluginData | null {CODE
LOW…ite/docusaurus-theme/components/VersionPicker/utils.ts69function preferredPreReleaseOrigin(browser: boolean, fallback: string): string {CODE
LOWwebsite/specs/2026-06-24-llms-txt-plugin-plan.md527function collapseMatchingTrailingSegment(urlPath) {CODE
LOWauthentik/__init__.py17def authentik_version_family_previous() -> str:CODE
LOWauthentik/rbac/permissions.py65def assign_initial_permissions(user, instance: Model):CODE
LOWauthentik/rbac/tests/test_roles.py29 def test_role_create_add_reverse(self):CODE
LOWauthentik/rbac/tests/test_roles.py86 def test_remove_users_remove_reverse(self):CODE
LOWauthentik/rbac/tests/test_api_filters.py116 def test_create_simple_denied(self):CODE
5059 more matches not shown…
Hallucination Indicators31 hits · 320 pts
SeverityFileLineSnippetContext
CRITICALblueprints/default/flow-oobe.yaml113 from django.core.exceptions import ValidationErrorCODE
CRITICALauthentik/tasks/tests/test_broker.py51 consumer.query_set.filter.return_value.exclude.assert_called_once_with(CODE
CRITICALauthentik/tasks/tests/test_broker.py85 consumer.query_set.filter.return_value.exclude.assert_called_once_with(CODE
CRITICALauthentik/tasks/tests/test_broker.py88 consumer.query_set.filter.return_value.exclude.return_value.update.assert_called_once_with(CODE
CRITICALauthentik/blueprints/v1/importer.py13from django.core.exceptions import FieldErrorCODE
CRITICALauthentik/stages/captcha/stage.py107 key=self.stage.executor.plan.context.get(PLAN_CONTEXT_CAPTCHA_PRIVATE_KEY),CODE
CRITICALauthentik/stages/consent/stage.py55 token, self.stage.executor.plan.context.get(PLAN_CONTEXT_CONSENT_TOKEN, "")CODE
CRITICALauthentik/stages/authenticator_validate/stage.py81 device_challenges: list[dict] = self.stage.executor.plan.context.get(CODE
CRITICALauthentik/stages/authenticator_validate/stage.py114 for device_challenge in self.stage.executor.plan.context.get(CODE
CRITICALauthentik/stages/authenticator_validate/stage.py139 stages = self.stage.executor.plan.context.get(PLAN_CONTEXT_STAGES, [])CODE
CRITICALauthentik/stages/authenticator_validate/stage.py151 self.stage.executor.plan.context.setdefault(PLAN_CONTEXT_METHOD, "auth_mfa")CODE
CRITICALauthentik/stages/authenticator_validate/stage.py152 self.stage.executor.plan.context.setdefault(PLAN_CONTEXT_METHOD_ARGS, {})CODE
CRITICALauthentik/stages/identification/stage.py208 key=self.stage.executor.plan.context.get(PLAN_CONTEXT_CAPTCHA_PRIVATE_KEY),CODE
CRITICALauthentik/stages/authenticator/util.py8from django.core.exceptions import ValidationErrorCODE
CRITICALauthentik/stages/invitation/stage.py4from django.core.exceptions import ValidationErrorCODE
CRITICALauthentik/providers/scim/clients/schema.py6from django.core.exceptions import ValidationErrorCODE
CRITICALauthentik/admin/files/validation.py4from django.core.exceptions import ValidationErrorCODE
CRITICALauthentik/admin/files/tests/test_validation.py1from django.core.exceptions import ValidationErrorCODE
CRITICALauthentik/tenants/models.py8from django.core.exceptions import ValidationErrorCODE
CRITICALauthentik/lib/models.py59 return self.field.remote_field.model.objects.db_manager(hints=hints).select_subclasses()CODE
CRITICALauthentik/lib/tests/test_utils_time.py5from django.core.exceptions import ValidationErrorCODE
CRITICALauthentik/lib/utils/time.py8from django.core.exceptions import ValidationErrorCODE
CRITICALauthentik/lib/expression/evaluator.py12from django.core.exceptions import FieldErrorCODE
CRITICALauthentik/sources/kerberos/sync.py5from django.core.exceptions import FieldErrorCODE
CRITICALauthentik/sources/ldap/tests/test_sync.py7from ldap3.core.exceptions import LDAPInvalidFilterErrorCODE
CRITICALauthentik/sources/ldap/sync/users.py5from django.core.exceptions import FieldErrorCODE
CRITICALauthentik/sources/ldap/sync/groups.py5from django.core.exceptions import FieldErrorCODE
CRITICALtests/e2e/test_source_ldap_samba.py4from ldap3.core.exceptions import LDAPSessionTerminatedByServerErrorCODE
CRITICALinternal/outpost/radius/handler_pap.go16 fe := flow.NewFlowExecutor(r.Context(), r.pi.flowSlug, r.pi.s.ac.Client.GetConfig(), log.Fields{CODE
CRITICALpackages/ak-guardian/guardian/models.py4from django.core.exceptions import ValidationErrorCODE
CRITICAL…o-dramatiq-postgres/django_dramatiq_postgres/models.py11from django.core.exceptions import ValidationErrorCODE
Cross-File Repetition33 hits · 165 pts
SeverityFileLineSnippetContext
HIGHauthentik/core/sources/flow_manager.py0prepare authentication plan, redirect user flowexecutorSTRING
HIGHauthentik/sources/telegram/views.py0prepare authentication plan, redirect user flowexecutorSTRING
HIGHauthentik/sources/saml/views.py0prepare authentication plan, redirect user flowexecutorSTRING
HIGHauthentik/core/api/property_mappings.py0get object component so that we know how to edit the objectSTRING
HIGHauthentik/core/api/providers.py0get object component so that we know how to edit the objectSTRING
HIGHauthentik/core/api/sources.py0get object component so that we know how to edit the objectSTRING
HIGHauthentik/endpoints/api/connectors.py0get object component so that we know how to edit the objectSTRING
HIGHauthentik/policies/api/policies.py0get object component so that we know how to edit the objectSTRING
HIGH…/enterprise/providers/microsoft_entra/clients/users.py0create user from scratch and create a connection objectSTRING
HIGH…enterprise/providers/google_workspace/clients/users.py0create user from scratch and create a connection objectSTRING
HIGHauthentik/providers/scim/clients/users.py0create user from scratch and create a connection objectSTRING
HIGH…enterprise/providers/microsoft_entra/clients/groups.py0create group from scratch and create a connection objectSTRING
HIGH…nterprise/providers/google_workspace/clients/groups.py0create group from scratch and create a connection objectSTRING
HIGHauthentik/providers/scim/clients/groups.py0create group from scratch and create a connection objectSTRING
HIGH…terprise/providers/microsoft_entra/tests/test_users.py0test without group property mappings, no group is createdSTRING
HIGH…erprise/providers/google_workspace/tests/test_users.py0test without group property mappings, no group is createdSTRING
HIGH…erprise/providers/microsoft_entra/tests/test_groups.py0test without group property mappings, no group is createdSTRING
HIGH…rprise/providers/google_workspace/tests/test_groups.py0test without group property mappings, no group is createdSTRING
HIGHauthentik/stages/authenticator_duo/tests.py0a setup stage with enrolled devices cannot be deleted.STRING
HIGHauthentik/stages/authenticator_email/tests.py0a setup stage with enrolled devices cannot be deleted.STRING
HIGHauthentik/stages/authenticator_sms/tests.py0a setup stage with enrolled devices cannot be deleted.STRING
HIGHauthentik/admin/files/backends/tests/test_s3_backend.py0test themed_urls returns dict of urls for each themeSTRING
HIGH…hentik/admin/files/backends/tests/test_file_backend.py0test themed_urls returns dict of urls for each themeSTRING
HIGHauthentik/admin/files/tests/test_manager.py0test themed_urls returns dict of urls for each themeSTRING
HIGHtests/e2e/test_provider_oidc_implicit.py0test openid provider flow (invalid redirect uri, check error message)STRING
HIGHtests/e2e/test_provider_oidc.py0test openid provider flow (invalid redirect uri, check error message)STRING
HIGHtests/e2e/test_provider_oauth2_grafana.py0test openid provider flow (invalid redirect uri, check error message)STRING
HIGHtests/e2e/test_provider_oidc_implicit.py0test openid provider flow (default authorization flow with explicit consent)STRING
HIGHtests/e2e/test_provider_oidc.py0test openid provider flow (default authorization flow with explicit consent)STRING
HIGHtests/e2e/test_provider_oauth2_grafana.py0test openid provider flow (default authorization flow with explicit consent)STRING
HIGHtests/e2e/test_provider_oidc_implicit.py0test openid provider flow (default authorization with access deny)STRING
HIGHtests/e2e/test_provider_oidc.py0test openid provider flow (default authorization with access deny)STRING
HIGHtests/e2e/test_provider_oauth2_grafana.py0test openid provider flow (default authorization with access deny)STRING
Over-Commented Block159 hits · 159 pts
SeverityFileLineSnippetContext
LOW…rints/example/flows-invitation-enrollment-minimal.yaml1# Minimal Invitation-based Enrollment BlueprintCOMMENT
LOWblueprints/example/flows-invitation-enrollment.yaml1# Example - Invitation-based Enrollment BlueprintCOMMENT
LOWweb/pnpm-workspace.yaml1packages:COMMENT
LOW…s/20240625-add-htmlelementtagnamemaps-to-everything.py1#!/opt/homebrew/bin/python3COMMENT
LOWweb/src/elements/decorators/bound.ts1// Automatically binds a method to the `this` instance during instantiation.COMMENT
LOWweb/src/elements/dialogs/components.ts1// import "@patternfly/elements/pf-tooltip/pf-tooltip.js";COMMENT
LOWweb/src/elements/dialogs/components.ts21// *COMMENT
LOWweb/src/elements/dialogs/components.ts41// })COMMENT
LOWweb/src/elements/dialogs/components.ts61// export function IconEditButton<T extends TransclusionElementConstructor>(COMMENT
LOWweb/src/elements/dialogs/components.ts81// return html`<buttonCOMMENT
LOWweb/src/elements/dialogs/components.ts101// *COMMENT
LOWweb/src/elements/dialogs/components.ts121// );COMMENT
LOWweb/src/flow/stages/captcha/controllers/shared.ts1// import { CaptchaControllerConstructor } from "#flow/stages/captcha/controllers/CaptchaController";COMMENT
LOWwebsite/docs/add-secure-apps/outposts/_config.md1```yamlCOMMENT
LOWwebsite/docs/add-secure-apps/outposts/_config.md21# Template used for objects created (deployments/containers, services, secrets, etc)COMMENT
LOWwebsite/docs/add-secure-apps/outposts/_config.md41########################################COMMENT
LOWwebsite/docs/add-secure-apps/outposts/_config.md61# - 'ingress'COMMENT
LOWwebsite/docs/add-secure-apps/outposts/_config.md81# For example use this patch to add custom resource requests and limitsCOMMENT
LOWwebsite/docs/add-secure-apps/outposts/_config.md101# errors to appear in outpost logs. This option disables the stricterCOMMENT
LOWwebsite/docs/customize/blueprints/v1/structure.md21# Optional block of metadata, name is required if metadata is setCOMMENT
LOWwebsite/docs/customize/blueprints/v1/structure.md41 # the blueprint will fail with a validation error.COMMENT
LOWwebsite/docs/customize/blueprints/v1/structure.md61 # Avoid setting the same field in both places.COMMENT
LOWauthentik/rbac/filters.py21#COMMENT
LOWauthentik/providers/proxy/tests.py181 # },COMMENT
LOWauthentik/providers/oauth2/id_token.py41 https://www.iana.org/assignments/jwt/jwt.xhtml"""COMMENT
LOWauthentik/lib/default.yml1# authentik configurationCOMMENT
LOWauthentik/lib/default.yml181COMMENT
LOWauthentik/lib/default.yml201 # media:COMMENT
LOWauthentik/lib/tests/test_config.py541 conf["replica_1"]["OPTIONS"]["connect_timeout"],COMMENT
LOWauthentik/lib/tests/test_config.py561 # "default": {COMMENT
LOWauthentik/lib/tests/test_config.py581 # )COMMENT
LOWauthentik/lib/tests/test_config.py601 # ).decode(),COMMENT
LOWinternal/outpost/proxyv2/postgresstore/postgresstore.go321// BuildDSN constructs a PostgreSQL connection string from a ConnConfig.COMMENT
LOWinternal/outpost/proxyv2/postgresstore/postgresstore.go341// - cfg: PostgreSQL configuration (host, port, user, password, etc.)COMMENT
LOWinternal/outpost/ak/api_utils_test.go61COMMENT
LOWinternal/outpost/ak/api_utils_test.go81// req := api.ApiOutpostsProxyListRequest{}COMMENT
LOWpackages/client-rust/src/models/event_actions.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/shell_challenge.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/user_type_enum.rs1// authentikCOMMENT
LOW…rust/src/models/telegram_challenge_response_request.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/event_request.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/contextual_flow_info.rs1// authentikCOMMENT
LOW…ges/client-rust/src/models/identification_challenge.rs1// authentikCOMMENT
LOW…lient-rust/src/models/open_id_connect_configuration.rs1// authentikCOMMENT
LOW…ges/client-rust/src/models/endpoint_agent_challenge.rs1// authentikCOMMENT
LOW…rust/src/models/o_auth_device_code_finish_challenge.rs1// authentikCOMMENT
LOW…_auth_device_code_finish_challenge_response_request.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/radius_check_access.rs1// authentikCOMMENT
LOW…-rust/src/models/authenticator_validation_challenge.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/password_challenge.rs1// authentikCOMMENT
LOW…ient-rust/src/models/authenticator_static_challenge.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/role.rs1// authentikCOMMENT
LOW…-rust/src/models/consent_challenge_response_request.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/proxy_mode.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/certificate_key_pair.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/certificate_key_pair.rs21 #[serde(COMMENT
LOW…odels/o_auth_device_code_challenge_response_request.rs1// authentikCOMMENT
LOW…nt-rust/src/models/email_challenge_response_request.rs1// authentikCOMMENT
LOW…client-rust/src/models/o_auth_device_code_challenge.rs1// authentikCOMMENT
LOWpackages/client-rust/src/models/redirect_challenge.rs1// authentikCOMMENT
99 more matches not shown…
Self-Referential Comments34 hits · 108 pts
SeverityFileLineSnippetContext
MEDIUMauthentik/enterprise/providers/oauth2/tests/test_dcr.py302 # Create a separate provider/app without DCRCOMMENT
MEDIUM…terprise/policies/unique_password/tests/test_stages.py64 # Create a password history entry manually to simulate the signal behaviorCOMMENT
MEDIUM…nterprise/policies/unique_password/tests/test_flows.py58 # Create a policy request with the reused passwordCOMMENT
MEDIUM…nterprise/policies/unique_password/tests/test_tasks.py22 # Create a UniquePasswordPolicy and a PolicyBinding for itCOMMENT
MEDIUM…nterprise/policies/unique_password/tests/test_tasks.py34 # Create a UniquePasswordPolicy and attach it to a PromptStageCOMMENT
MEDIUM…nterprise/policies/unique_password/tests/test_tasks.py53 # Create a policy with a limit of 1 passwordCOMMENT
MEDIUM…nterprise/policies/unique_password/tests/test_tasks.py86 # Create a policy and bindingCOMMENT
MEDIUM…ntik/stages/authenticator_validate/tests/test_email.py72 # Create a device for our userCOMMENT
MEDIUM…ntik/stages/authenticator_validate/tests/test_email.py143 # Create a device for our userCOMMENT
MEDIUMauthentik/providers/scim/tests/test_client.py246 # Creating a new client should now hit the API again since cache was clearedCOMMENT
MEDIUMauthentik/providers/proxy/controllers/k8s/ingress.py52 # Create a list of all expected host and tls hostsCOMMENT
MEDIUMauthentik/providers/oauth2/utils.py251 # Create the logout token payloadCOMMENT
MEDIUM…ntik/providers/oauth2/tests/test_backchannel_logout.py54 # Create a token with the same issuer that the view will expectCOMMENT
MEDIUMauthentik/providers/oauth2/tests/test_token.py552 # Create a custom scope mapping that returns a custom scope claimCOMMENT
MEDIUMauthentik/providers/saml/tasks.py111 # Create a minimal LogoutRequest object for the response processorCOMMENT
MEDIUMauthentik/providers/saml/tests/test_auth_n_request.py237 # Create a full keypair for the source (SP) - it needs the private key to decryptCOMMENT
MEDIUMauthentik/providers/saml/tests/test_auth_n_request.py240 # Create a certificate-only keypair for the provider (IdP)COMMENT
MEDIUMauthentik/providers/saml/tests/test_views_sp_slo.py155 # Create a flow plan with the return URLCOMMENT
MEDIUMauthentik/providers/saml/tests/test_views_sp_slo.py270 # Create a flow plan with the return URLCOMMENT
MEDIUMauthentik/providers/saml/tests/test_api.py84 # Create an Ed25519 certificateCOMMENT
MEDIUMauthentik/providers/saml/tests/test_models_session.py30 # Create a providerCOMMENT
MEDIUMauthentik/providers/saml/tests/test_models_session.py46 # Create a session first (using authentik's custom Session model)COMMENT
MEDIUMauthentik/providers/saml/tests/test_models_session.py52 # Create an authenticated sessionCOMMENT
MEDIUMauthentik/providers/saml/tests/test_models_session.py249 # Create an expired sessionCOMMENT
MEDIUM…/providers/saml/tests/test_logout_request_processor.py29 # Create a signing keypairCOMMENT
MEDIUMauthentik/providers/saml/processors/assertion.py415 # Create a standalone copy so namespace declarations are included in the encrypted contentCOMMENT
MEDIUM…hentik/admin/files/backends/tests/test_file_backend.py40 # Create the directory but keep it emptyCOMMENT
MEDIUMauthentik/root/tests/test_ws_client.py37 # Create a fake request to store login details.COMMENT
MEDIUMauthentik/sources/ldap/tests/test_sync.py132 # Create the user beforehand so we can set attributes and check they aren't removedCOMMENT
MEDIUMauthentik/sources/ldap/tests/test_sync.py178 # Create the user beforehand so we can set attributes and check they aren't removedCOMMENT
MEDIUMauthentik/sources/saml/processors/request.py149 # Create the full querystring in the correct order to be signedCOMMENT
MEDIUMauthentik/sources/saml/processors/response.py245 # Create a temporary UserCOMMENT
MEDIUMauthentik/events/tasks.py81 # Create the notification objectsCOMMENT
MEDIUM…o-dramatiq-postgres/django_dramatiq_postgres/broker.py468 # This method is called every secondSTRING
Redundant / Tautological Comments54 hits · 83 pts
SeverityFileLineSnippetContext
LOWblueprints/default/flow-default-source-enrollment.yaml28 # Check if we''ve not been given a username by the external IdPCOMMENT
LOWauthentik/rbac/api/rbac.py126 # Check if we're setting an object-level perm or globalCOMMENT
LOWauthentik/blueprints/v1/tasks.py128 # Check if any part in the path starts with a dot and assume a hidden fileCOMMENT
LOWauthentik/outposts/controllers/docker.py248 # Check if the container is out of date, delete it and retryCOMMENT
LOWauthentik/core/views/apps.py36 # Check if we're authenticated already, saves us the flow runCOMMENT
LOWauthentik/endpoints/connectors/agent/stage.py90 # Check if we're in a device interactive auth flow, in which case we use thatCOMMENT
LOWauthentik/enterprise/stages/source/stage.py81 # Check if token is expired and rotate key if soCOMMENT
LOW…thentik/enterprise/policies/unique_password/signals.py16 # Check if any UniquePasswordPolicy is in useCOMMENT
LOWauthentik/enterprise/policies/unique_password/models.py104 # Check if any policy is in use through bindingsCOMMENT
LOWauthentik/enterprise/policies/unique_password/models.py108 # Check if any policy is attached to a PromptStageCOMMENT
LOWauthentik/stages/user_write/stage.py115 # Check if user has a setter for this key, like set_passwordCOMMENT
LOWauthentik/stages/user_write/stage.py150 # Check if we're writing from a source, and save the source to the attributesCOMMENT
LOWauthentik/stages/user_write/stage.py232 # Check if the password has been updated, and update the session auth hashCOMMENT
LOWauthentik/stages/user_login/stage.py219 # Check if the login request is coming from a known deviceCOMMENT
LOWauthentik/stages/prompt/stage.py102 # Check if we have a password field, add a handler that sends a signalCOMMENT
LOWauthentik/stages/prompt/stage.py121 # Check if we have any static or hidden fields, and ensure theyCOMMENT
LOWauthentik/stages/prompt/stage.py142 # Check if we have two password fields, and make sure they are the sameCOMMENT
LOWauthentik/stages/identification/stage.py146 # Check if this is a passkey authenticationCOMMENT
LOWauthentik/stages/email/stage.py98 # Check if token is expired and rotate key if soCOMMENT
LOWauthentik/stages/email/stage.py141 # Check if the user came back from the email link to verifyCOMMENT
LOWauthentik/stages/email/stage.py157 # Check if we've already sent the initial e-mailCOMMENT
LOWauthentik/providers/oauth2/views/authorize.py551 # Check if we're not already doing the re-authenticationCOMMENT
LOWauthentik/providers/oauth2/views/authorize.py774 # Check if response_type must include access_token in the response.COMMENT
LOWauthentik/providers/oauth2/views/authorize.py784 # Check if response_type must include id_token in the response.COMMENT
LOWauthentik/providers/rac/views.py106 # Check if we're already at the maximum connection limitCOMMENT
LOWauthentik/providers/rac/views.py113 # Check if any other tokens exist for the current user, and inform themCOMMENT
LOWauthentik/providers/saml/tests/test_models_session.py246 # Check if session is expired (ExpiringModel behavior)COMMENT
LOWauthentik/providers/saml/tests/test_models_session.py263 # Check if marked as expiredCOMMENT
LOW…ntik/providers/saml/processors/authn_request_parser.py85 # Check if AuthnRequest has a NameID Policy objectCOMMENT
LOWauthentik/providers/saml/views/sp_slo.py234 # Check if this is a LogoutResponse before doing any authentication checksCOMMENT
LOWauthentik/providers/saml/views/sp_slo.py277 # Check if this is a LogoutResponse before doing any authentication checksCOMMENT
LOWauthentik/admin/tasks.py52 # Check if upstream version is newer than what we're running,COMMENT
LOWauthentik/admin/files/api.py133 # Check if file already existsCOMMENT
LOWauthentik/policies/views.py76 # Check if user is unauthenticated, so we pass the applicationCOMMENT
LOWauthentik/policies/geoip/models.py144 # Check if distance between `previous_login` and now is moreCOMMENT
LOWauthentik/root/test_runner.py169 # Check if the label is a dotted module pathCOMMENT
LOWauthentik/lib/config.py92 # Check if path is relative, and if so join with base_dirCOMMENT
LOWauthentik/lib/config.py226 # Check if the value is json, and try to load itCOMMENT
LOWauthentik/lib/models.py105 # Check if the scheme is valid.COMMENT
LOWauthentik/lib/utils/reflection.py23 # Check if we're in debug mode, if not exclude classes which have `__debug_only__`COMMENT
LOWauthentik/lib/utils/email.py76 if not domain_parts[-1]: # Check if TLD is emptyCODE
LOWauthentik/lib/sync/outgoing/tasks.py53 # Assign tasks to the same schedule as the current oneCOMMENT
LOWauthentik/lib/sync/outgoing/tasks.py270 # Check if the object is allowed within the provider's restrictions.COMMENT
LOWauthentik/lib/sync/outgoing/tasks.py393 # Check if the object is allowed within the provider's restrictions.COMMENT
LOWauthentik/sources/oauth/tasks.py44 # Check if we're actually changing anything to onlyCOMMENT
LOWauthentik/sources/ldap/password.py145 # Check if password contains sAMAccountName or displayNamesCOMMENT
LOWauthentik/sources/saml/processors/response.py84 # Check if response is compressed, b64 decode itCOMMENT
LOWauthentik/events/signals.py79 # Check if this even comes from the user_login stage's middleware, which will set an extraCOMMENT
LOWauthentik/events/models.py238 # Check if we're currently impersonating, and add that userCOMMENT
LOWauthentik/flows/planner.py133 # Check if we actually need to show the Flow executor, or if we can jump straight to the endCOMMENT
LOWauthentik/flows/api/flows_diagram.py135 # Check if we have a stage behind us and if it has any sourcesCOMMENT
LOWtests/openid_conformance/base.py112 # Check if we need to clear cookies - tests only indicates this in their written summaryCOMMENT
LOWtests/openid_conformance/base.py119 # Check if we need deal with any browser URLsCOMMENT
LOWtests/openid_conformance/base.py125 # Check if we need to upload any itemsCOMMENT
Fake / Example Data77 hits · 81 pts
SeverityFileLineSnippetContext
LOWblueprints/schema.json16911 "placeholder": {CODE
LOWweb/src/admin/ak-admin-debug-page.ts74 message: `lorem ipsum ${Date.now()}`,CODE
LOWweb/src/admin/stages/prompt/PromptForm.ts290 <ak-form-element-horizontal label=${msg("Placeholder")} name="placeholder">CODE
LOWweb/src/user/ak-interface-user.ts139 return html`<slot name="placeholder"></slot>`;CODE
LOW…src/styles/authentik/components/Login/flow-loading.css14ak-flow-executor:not(:defined) > :not([slot="placeholder"]) {CODE
LOW…src/styles/authentik/components/Login/login-layout.css135 slot[name="placeholder"] {CODE
LOW…src/styles/authentik/components/Login/login-layout.css154 &:has([slot="placeholder"]),CODE
LOW…src/styles/authentik/components/Login/login-layout.css155 &:has(slot[name="placeholder"]) {CODE
LOWweb/src/flow/FlowExecutor.ts386 return html`<slot name="placeholder"></slot>`;CODE
LOW…flow/stages/access_denied/AccessDeniedStage.stories.ts12 title: "lorem ipsum foo bar baz",CODE
LOWweb/src/flow/stages/consent/ConsentStage.stories.ts11 headerText: "lorem ipsum",CODE
LOWweb/src/flow/stages/consent/ConsentStage.stories.ts22 headerText: "lorem ipsum",CODE
LOWweb/src/flow/components/ak-flow-card.stories.ts27 title: "lorem ipsum foo bar baz",CODE
LOWweb/src/flow/components/ak-flow-card.stories.ts58 title: "lorem ipsum foo bar baz",CODE
LOWweb/src/flow/components/ak-flow-card.stories.ts87 title: "lorem ipsum foo bar baz",CODE
LOWwebsite/docs/users-sources/user/invitations.md134 "email": "user@example.com"CODE
LOWwebsite/docs/users-sources/user/invitations.md149 "name": "John Doe",CODE
LOWwebsite/docs/sys-mgmt/events/event-actions.md231 "city": "placeholder",CODE
LOWwebsite/docs/sys-mgmt/events/event-actions.md233 "country": "placeholder",CODE
LOWwebsite/docs/sys-mgmt/events/event-actions.md234 "continent": "placeholder"CODE
LOW…ations/chat-communication-collaboration/kimai/index.md132 emailAddress: "admin@example.com"CODE
LOWauthentik/core/templates/base/placeholder.html3<div class="ak-c-placeholder" id="ak-placeholder" slot="placeholder">CODE
LOW…nterprise/policies/unique_password/tests/test_flows.py92 "placeholder": "PASSWORD_PLACEHOLDER",CODE
LOWauthentik/stages/prompt/api.py63 "placeholder",CODE
LOWauthentik/stages/prompt/api.py84 filterset_fields = ["field_key", "name", "label", "type", "placeholder"]CODE
LOWauthentik/stages/prompt/api.py85 search_fields = ["field_key", "name", "label", "type", "placeholder"]CODE
LOWauthentik/stages/prompt/stage.py232 data["placeholder"] = str(CODE
LOWauthentik/stages/prompt/tests.py719 "placeholder": "Hello world",CODE
LOWauthentik/stages/prompt/tests.py738 "placeholder": "return [",CODE
LOWauthentik/stages/prompt/tests.py700 "placeholder": 'return "Hello world"',CODE
LOWauthentik/stages/invitation/tests.py288 "email_addresses": ["user@example.com"],CODE
LOWauthentik/stages/invitation/tests.py313 {"email_addresses": ["user@example.com"]},CODE
LOWauthentik/providers/scim/tests/test_schema.py10 Email.model_validate({"value": "foo@bar.com"})CODE
LOWauthentik/policies/password/tests/test_flows.py62 "placeholder": "PASSWORD_PLACEHOLDER",CODE
LOWauthentik/lib/utils/email.py10 - Single email string: "user@example.com"STRING
LOWauthentik/lib/expression/evaluator.py267 - Single email: "user@example.com"STRING
LOWauthentik/sources/scim/tests/test_patch.py265 patches = [PatchOperation(op=PatchOp.add, path="address.street", value="123 Main St")]CODE
LOWauthentik/sources/scim/tests/test_patch.py268 self.assertEqual(result["address"]["street"], "123 Main St")CODE
LOWauthentik/sources/scim/tests/test_patch.py962 self.processor._navigate_and_modify(data_copy, components, "123 Main St", "add")CODE
LOWauthentik/sources/scim/tests/test_patch.py964 self.assertEqual(data_copy["profile"]["address"]["street"], "123 Main St")CODE
LOWauthentik/sources/scim/tests/test_patch.py988 data_copy["profile"] = {"address": {"street": "123 Main St", "city": "New York"}}CODE
LOWauthentik/sources/scim/tests/test_patch.py1005 self.processor._navigate_and_modify(data_copy, components, "123 Main St", "add")CODE
LOWauthentik/sources/scim/tests/test_patch.py1007 self.assertEqual(data_copy["profile"]["address"]["street"], "123 Main St")CODE
LOWauthentik/sources/scim/tests/test_patch.py30 "name": {"formatted": "John Doe", "familyName": "Doe", "givenName": "John"},CODE
LOWauthentik/sources/oauth/tests/test_type_slack.py20 "email": "user@example.com",CODE
LOWauthentik/flows/api/flows_diagram.py183 DiagramElement("flow_start", "placeholder", _("Requirement fulfilled"), source=[auth])CODE
LOWtests/e2e/test_source_oauth_oauth2.py131 self.driver.find_element(By.ID, "login").send_keys("admin@example.com")CODE
LOWtests/e2e/test_source_oauth_oauth2.py189 self.assert_user(User(username="foo", name="admin", email="admin@example.com"))CODE
LOWtests/e2e/test_source_oauth_oauth2.py215 self.assert_user(User(username="foo", name="admin", email="admin@example.com"))CODE
LOW…al/outpost/proxyv2/postgresstore/postgresstore_test.go272 "email": "admin@example.com",CODE
LOW…al/outpost/proxyv2/postgresstore/postgresstore_test.go279 "email": "admin@example.com",CODE
LOW…al/outpost/proxyv2/postgresstore/postgresstore_test.go286 "email": "user@example.com",CODE
LOW…al/outpost/proxyv2/postgresstore/postgresstore_test.go299 return c.Email == "admin@example.com"CODE
LOW…al/outpost/proxyv2/postgresstore/postgresstore_test.go316 assert.Equal(t, "user@example.com", claims["email"])CODE
LOW…al/outpost/proxyv2/postgresstore/postgresstore_test.go330 "email": "admin@example.com",CODE
LOW…al/outpost/proxyv2/postgresstore/postgresstore_test.go338 "email": "user@example.com",CODE
LOW…al/outpost/proxyv2/postgresstore/postgresstore_test.go379 assert.NotEqual(t, "admin@example.com", claims["email"])CODE
LOWpackages/client-go/model_stage_prompt.go28 Placeholder string `json:"placeholder"`CODE
LOWpackages/client-go/model_stage_prompt.go296 toSerialize["placeholder"] = o.PlaceholderCODE
LOWpackages/client-go/model_stage_prompt.go320 "placeholder",CODE
17 more matches not shown…
Deep Nesting55 hits · 55 pts
SeverityFileLineSnippetContext
LOWauthentik/crypto/tasks.py110CODE
LOWauthentik/tasks/schedules/scheduler.py19CODE
LOWauthentik/blueprints/v1/importer.py171CODE
LOWauthentik/blueprints/v1/importer.py385CODE
LOWauthentik/blueprints/v1/schema.py158CODE
LOW…ntik/blueprints/management/commands/apply_blueprint.py20CODE
LOWauthentik/outposts/signals.py119CODE
LOWauthentik/outposts/docker_ssh.py80CODE
LOWauthentik/outposts/models.py332CODE
LOWauthentik/outposts/apps.py36CODE
LOWauthentik/core/setup/signals.py19CODE
LOWauthentik/core/sources/flow_manager.py199CODE
LOWauthentik/enterprise/core/revocation.py50CODE
LOWauthentik/stages/user_write/stage.py106CODE
LOWauthentik/stages/captcha/stage.py36CODE
LOWauthentik/stages/prompt/models.py156CODE
LOWauthentik/stages/prompt/models.py225CODE
LOWauthentik/stages/prompt/models.py269CODE
LOWauthentik/stages/authenticator_validate/models.py116CODE
LOWauthentik/stages/authenticator_validate/challenge.py144CODE
LOWauthentik/providers/oauth2/id_token.py79CODE
LOWauthentik/providers/oauth2/tests/test_dpop.py72CODE
LOWauthentik/providers/oauth2/views/end_session.py61CODE
LOWauthentik/providers/saml/views/sp_slo.py84CODE
LOWauthentik/admin/files/api.py217CODE
LOWauthentik/admin/files/backends/static.py31CODE
LOWauthentik/root/asgi.py36CODE
LOWauthentik/lib/config.py86CODE
LOWauthentik/lib/config.py157CODE
LOWauthentik/sources/kerberos/tasks.py38CODE
LOWauthentik/sources/scim/patch/processor.py14CODE
LOWauthentik/sources/scim/patch/processor.py32CODE
LOWauthentik/sources/scim/patch/processor.py108CODE
LOWauthentik/sources/scim/patch/processor.py194CODE
LOWauthentik/sources/scim/patch/parser.py80CODE
LOWauthentik/sources/scim/patch/lexer.py120CODE
LOWauthentik/sources/scim/views/v2/groups.py159CODE
LOWauthentik/sources/oauth/tasks.py22CODE
LOWauthentik/sources/oauth/api/source.py60CODE
LOWauthentik/sources/ldap/sync/users.py59CODE
LOWauthentik/sources/ldap/sync/groups.py58CODE
LOWauthentik/api/search/fields.py90CODE
LOWauthentik/api/v3/schema/query.py75CODE
LOWauthentik/api/v3/schema/enum.py28CODE
LOWauthentik/api/v3/schema/enum.py247CODE
LOWauthentik/api/v3/schema/enum.py42CODE
LOWauthentik/api/v3/schema/enum.py43CODE
LOWauthentik/api/v3/schema/enum.py61CODE
LOWauthentik/flows/planner.py313CODE
LOWauthentik/flows/api/flows_diagram.py104CODE
LOWauthentik/flows/views/executor.py162CODE
LOWtests/openid_conformance/conformance.py60CODE
LOWlifecycle/migrate.py124CODE
LOWpackages/ak-guardian/guardian/utils.py114CODE
LOW…o-dramatiq-postgres/django_dramatiq_postgres/broker.py344CODE
Excessive Try-Catch Wrapping35 hits · 39 pts
SeverityFileLineSnippetContext
LOWauthentik/blueprints/v1/common.py214 except Exception as exc: # noqa: BLE001 - a repr must never raiseCODE
LOWauthentik/core/models.py617 except Exception as exc: # noqaCODE
LOWauthentik/core/models.py817 except Exception as exc: # noqaCODE
LOWauthentik/core/models.py1046 except Exception as exc: # noqaCODE
LOWauthentik/core/models.py1259 except Exception as exc:CODE
LOWauthentik/core/api/property_mappings.py172 except Exception as exc: # noqaCODE
LOWauthentik/enterprise/stages/account_lockdown/stage.py142 except Exception as exc: # noqa: BLE001CODE
LOWauthentik/enterprise/stages/account_lockdown/stage.py170 except Exception as exc: # noqa: BLE001CODE
LOWauthentik/enterprise/stages/account_lockdown/stage.py221 except Exception as exc: # noqa: BLE001CODE
LOW…enterprise/stages/account_lockdown/tests/test_stage.py597 except Exception as exc: # noqa: BLE001CODE
MEDIUM…enterprise/stages/account_lockdown/tests/test_stage.py584def run(self):CODE
LOWauthentik/enterprise/lifecycle/offboarding/tasks.py44 except Exception:CODE
MEDIUM…rprise/lifecycle/offboarding/tests/test_offboarding.py263def run(self):CODE
MEDIUM…rprise/lifecycle/offboarding/tests/test_offboarding.py319def run(self):CODE
MEDIUM…rprise/lifecycle/offboarding/tests/test_offboarding.py330def run(self):CODE
LOW…rprise/lifecycle/offboarding/tests/test_offboarding.py266 except Exception as exc: # noqa: BLE001CODE
LOW…rprise/lifecycle/offboarding/tests/test_offboarding.py322 except Exception as exc: # noqa: BLE001CODE
LOW…rprise/lifecycle/offboarding/tests/test_offboarding.py333 except Exception as exc: # noqa: BLE001CODE
LOWauthentik/stages/prompt/models.py177 except Exception as exc: # pylint:disable=broad-exceptCODE
LOWauthentik/stages/prompt/models.py215 except Exception as exc: # pylint:disable=broad-exceptCODE
LOWauthentik/stages/prompt/models.py244 except Exception as exc: # pylint:disable=broad-exceptCODE
LOWauthentik/brands/models.py175 except Exception as exc: # noqaCODE
LOWauthentik/providers/saml/views/unified.py54 except Exception: # noqa: BLE001CODE
LOWauthentik/policies/process.py141 except Exception as exc: # noqaCODE
LOWauthentik/policies/expression/evaluator.py74 except Exception as exc: # noqaCODE
LOWauthentik/root/test_runner.py195 except Exception as exc: # noqaCODE
LOWauthentik/root/middleware.py317 except Exception as exc:CODE
LOWauthentik/lib/expression/evaluator.py364 except Exception as exc:CODE
LOWauthentik/lib/sync/mapper.py74 except Exception as exc:CODE
LOWauthentik/flows/stage.py165 except Exception as exc: # noqaCODE
LOWauthentik/flows/views/executor.py217 except Exception as exc: # noqaCODE
LOWauthentik/flows/views/executor.py307 except Exception as exc: # noqaCODE
LOWauthentik/flows/views/executor.py358 except Exception as exc: # noqaCODE
LOWauthentik/flows/views/executor.py370 except Exception: # noqaCODE
LOWlifecycle/gunicorn.conf.py156 except Exception: # nosec # noqaCODE
Structural Annotation Overuse15 hits · 31 pts
SeverityFileLineSnippetContext
LOW…ions/wizard/steps/ak-application-wizard-submit-step.ts119 // Step 1: Import SAML metadata to create the providerCOMMENT
LOW…ions/wizard/steps/ak-application-wizard-submit-step.ts127 // Step 2: Create the application linked to the providerCOMMENT
LOW…ions/wizard/steps/ak-application-wizard-submit-step.ts135 // Step 3: Create policy bindingsCOMMENT
LOWwebsite/docs/users-sources/user/invitations.md208### Step 1: Create an Invitation stageCOMMENT
LOWwebsite/docs/users-sources/user/invitations.md225### Step 2: Create or modify an Enrollment flowCOMMENT
LOWwebsite/docs/users-sources/user/invitations.md235### Step 3: Bind the Invitation stage to the flowCOMMENT
LOWwebsite/docs/users-sources/user/invitations.md250### Step 4: Create invitationsCOMMENT
LOWauthentik/providers/rac/consumer_client.py45# Step 1: Client connects to this websocket endpointCOMMENT
LOWauthentik/providers/rac/consumer_client.py46# Step 2: We prepare all the connection args for GuacCOMMENT
LOWauthentik/providers/rac/consumer_client.py47# Step 3: Send a websocket message to a single outpost that has this provider assignedCOMMENT
LOWauthentik/providers/rac/consumer_client.py50# Step 4: Outpost creates a websocket connection back to authentikCOMMENT
LOWauthentik/providers/rac/consumer_client.py52# Step 5: This consumer transfers data between the two channelsCOMMENT
LOWinternal/outpost/proxyv2/application/auth_test.go328 // Step 1: Serialize Claims to JSON (simulating storage)COMMENT
LOWinternal/outpost/proxyv2/application/auth_test.go332 // Step 2: Deserialize to map[string]any (simulating PostgreSQL load)COMMENT
LOWinternal/outpost/proxyv2/application/auth_test.go337 // Step 3: Convert map back to Claims (simulating getClaimsFromSession)COMMENT
Unused Imports25 hits · 25 pts
SeverityFileLineSnippetContext
LOWauthentik/blueprints/tasks.py2CODE
LOWauthentik/endpoints/controller.py4CODE
LOWauthentik/enterprise/lifecycle/signals.py7CODE
LOWauthentik/enterprise/lifecycle/signals.py7CODE
LOWauthentik/enterprise/lifecycle/tasks.py7CODE
LOWauthentik/enterprise/lifecycle/tasks.py7CODE
LOWauthentik/enterprise/lifecycle/tasks.py11CODE
LOWauthentik/enterprise/lifecycle/tasks.py11CODE
LOWauthentik/enterprise/lifecycle/tasks.py11CODE
LOWauthentik/enterprise/lifecycle/models.py12CODE
LOWauthentik/enterprise/lifecycle/models.py12CODE
LOWauthentik/enterprise/lifecycle/models.py12CODE
LOWauthentik/enterprise/lifecycle/models.py12CODE
LOWauthentik/enterprise/lifecycle/models.py12CODE
LOWauthentik/enterprise/lifecycle/models.py12CODE
LOWauthentik/enterprise/lifecycle/models.py12CODE
LOWauthentik/enterprise/lifecycle/models.py21CODE
LOWauthentik/enterprise/lifecycle/models.py21CODE
LOWauthentik/enterprise/lifecycle/models.py21CODE
LOWauthentik/providers/scim/clients/base.py30CODE
LOWauthentik/providers/scim/clients/base.py31CODE
LOWauthentik/policies/types.py3CODE
LOWauthentik/lib/sync/outgoing/base.py19CODE
LOWauthentik/lib/sync/outgoing/base.py21CODE
LOWlifecycle/gunicorn.conf.py26CODE
Verbosity Indicators11 hits · 25 pts
SeverityFileLineSnippetContext
LOW…ions/wizard/steps/ak-application-wizard-submit-step.ts119 // Step 1: Import SAML metadata to create the providerCOMMENT
LOW…ions/wizard/steps/ak-application-wizard-submit-step.ts127 // Step 2: Create the application linked to the providerCOMMENT
LOW…ions/wizard/steps/ak-application-wizard-submit-step.ts135 // Step 3: Create policy bindingsCOMMENT
LOWauthentik/providers/rac/consumer_client.py45# Step 1: Client connects to this websocket endpointCOMMENT
LOWauthentik/providers/rac/consumer_client.py46# Step 2: We prepare all the connection args for GuacCOMMENT
LOWauthentik/providers/rac/consumer_client.py47# Step 3: Send a websocket message to a single outpost that has this provider assignedCOMMENT
LOWauthentik/providers/rac/consumer_client.py50# Step 4: Outpost creates a websocket connection back to authentikCOMMENT
LOWauthentik/providers/rac/consumer_client.py52# Step 5: This consumer transfers data between the two channelsCOMMENT
LOWinternal/outpost/proxyv2/application/auth_test.go328 // Step 1: Serialize Claims to JSON (simulating storage)COMMENT
LOWinternal/outpost/proxyv2/application/auth_test.go332 // Step 2: Deserialize to map[string]any (simulating PostgreSQL load)COMMENT
LOWinternal/outpost/proxyv2/application/auth_test.go337 // Step 3: Convert map back to Claims (simulating getClaimsFromSession)COMMENT
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…/src/elements/forms/SearchSelect/stories/sampleData.ts7// The descriptions were generated by ChatGPT. Don't blame us.COMMENT
HIGHweb/src/elements/ak-list-select/stories/sampleData.ts5// The descriptions were generated by ChatGPT. Don't blame us.COMMENT
Docstring Block Structure3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHauthentik/admin/files/validation.py29Sanitize file path. Args: file_path: The file path to sanitize Returns: Sanitized file path STRING
HIGHauthentik/lib/utils/email.py5Normalize email address parameter to list of (name, email) tuples. Args: addr: Email address(es). Can be: STRING
HIGHpackages/ak-guardian/guardian/utils.py115Get a tuple with the identity of the given input. Returns: (user_obj, None, None) or (None, groupSTRING
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHauthentik/api/ordering.py16 return {f.name for f in queryset.model._meta.get_fields() if hasattr(f, "null") and f.null}CODE
HIGHauthentik/api/search/fields.py64 ck.key_path_array || jsonb_object_keys(ck.value),CODE
Modern Structural Boilerplate8 hits · 8 pts
SeverityFileLineSnippetContext
LOWauthentik/enterprise/lifecycle/signals.py9__all__ = [CODE
LOWauthentik/enterprise/lifecycle/tasks.py17__all__ = [CODE
LOWauthentik/enterprise/lifecycle/models.py29__all__ = [CODE
LOWauthentik/stages/authenticator_webauthn/models.py183 def set_sign_count(self, sign_count: int) -> None:CODE
LOWauthentik/stages/authenticator/models.py398 def set_throttle_factor(self, throttle_factor: float) -> None:CODE
LOWauthentik/root/settings.py566def _update_settings(app_path: str) -> None:CODE
LOWauthentik/lib/tests/test_config.py633 def _set_main_postgres(self, config: ConfigLoader) -> None:CODE
LOWpackages/ak-guardian/guardian/utils.py24logger = logging.getLogger(__name__)CODE
AI Slop Vocabulary4 hits · 8 pts
SeverityFileLineSnippetContext
LOWauthentik/core/sessions.py92 # If any of these happen, just return an empty dictionary (an empty session)COMMENT
LOWauthentik/enterprise/audit/middleware.py144 # If we're clearing we just set the "flag" to TrueCOMMENT
LOWauthentik/stages/authenticator_validate/stage.py177 # hence it doesn't have a PK. In that case we just return an empty list ofCOMMENT
MEDIUMauthentik/lib/expression/evaluator.py365 # So, this is a bit questionable. Essentially, we are edit the stacktraceCOMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHauthentik/sources/scim/tests/test_patch.py1197 # Based on the code, after processing a filter, the method doesn't continueCOMMENT
Cross-Language Confusion (JS/TS)1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHpackages/client-ts/src/runtime.ts129 * @return True if the given MIME is JSON, false otherwise.COMMENT
AI Structural Patterns4 hits · 4 pts
SeverityFileLineSnippetContext
LOWauthentik/enterprise/endpoints/connectors/agent/http.py34CODE
LOWauthentik/providers/oauth2/tests/test_dpop.py36CODE
LOWauthentik/providers/oauth2/views/userinfo.py128CODE
LOWauthentik/sources/ldap/sync/base.py87CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMwebsite/specs/2026-06-24-llms-txt-plugin-plan.md1161### Task 9: Plugin orchestration (`postBuild`) + group assignmentCOMMENT
Slop Phrases2 hits · 3 pts
SeverityFileLineSnippetContext
LOWinternal/outpost/proxyv2/hs256/hs256.go26 // Don't forget to validate the alg is what you expect:COMMENT
LOWinternal/outpost/proxyv2/application/oauth_state.go110 // Don't forget to validate the alg is what you expect:COMMENT
Decorative Section Separators2 hits · 2 pts
SeverityFileLineSnippetContext
MEDIUM…go-channels-postgres/django_channels_postgres/layer.py299 # ==============================================================STRING
MEDIUM…go-channels-postgres/django_channels_postgres/layer.py301 # ==============================================================STRING
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…s/20240625-add-htmlelementtagnamemaps-to-everything.py14# Usage:COMMENT