Polar — A billing platform for the intelligence era
This report summarizes scanner evidence for polarsource/polar, a Python project with 10,350 GitHub stars. SynthScan examined 1,053,259 lines of code across 4989 source files, recording 11367 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 20.0 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 7680 finding(s).
Are imports declared and package/API names verified? 1011 finding(s).
Are wrappers, guards, and repeated structures necessary? 9546 finding(s).
Which changes need focused human review? 11367 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 11367 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | server/polar/organization/schemas.py | 0 | feature settings that organizations can update themselves. other feature settings are managed by polar staff: they're ig | STRING |
| HIGH | sdk/python/polar/v2027_01/inputs.py | 0 | feature settings that organizations can update themselves. other feature settings are managed by polar staff: they're ig | STRING |
| HIGH | sdk/python/polar/v2026_10/inputs.py | 0 | feature settings that organizations can update themselves. other feature settings are managed by polar staff: they're ig | STRING |
| HIGH | sdk/python/polar/v2026_04/inputs.py | 0 | feature settings that organizations can update themselves. other feature settings are managed by polar staff: they're ig | STRING |
| HIGH | server/polar/webhook/schemas.py | 0 | a webhook event. an event represent something that happened in the system that should be sent to the webhook endpoint. i | STRING |
| HIGH | sdk/python/polar/v2027_01/outputs.py | 0 | a webhook event. an event represent something that happened in the system that should be sent to the webhook endpoint. i | STRING |
| HIGH | sdk/python/polar/v2026_10/outputs.py | 0 | a webhook event. an event represent something that happened in the system that should be sent to the webhook endpoint. i | STRING |
| HIGH | sdk/python/polar/v2026_04/outputs.py | 0 | a webhook event. an event represent something that happened in the system that should be sent to the webhook endpoint. i | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a new checkout is created. **discord & slack support:** basic | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a new checkout is created. **discord & slack support:** basic | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a new checkout is created. **discord & slack support:** basic | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a new checkout is created. **discord & slack support:** basic | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a checkout is updated. **discord & slack support:** basic | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a checkout is updated. **discord & slack support:** basic | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a checkout is updated. **discord & slack support:** basic | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a checkout is updated. **discord & slack support:** basic | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a checkout expires. this event fires when a checkout reaches its expiration time without being completed. deve | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a checkout expires. this event fires when a checkout reaches its expiration time without being completed. deve | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a checkout expires. this event fires when a checkout reaches its expiration time without being completed. deve | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a checkout expires. this event fires when a checkout reaches its expiration time without being completed. deve | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a new customer is created. a customer can be created: * after a successful checkout. * programmatically via th | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a new customer is created. a customer can be created: * after a successful checkout. * programmatically via th | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a new customer is created. a customer can be created: * after a successful checkout. * programmatically via th | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a new customer is created. a customer can be created: * after a successful checkout. * programmatically via th | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a customer is updated. this event is fired when the customer details are updated. if you want to be notified w | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a customer is updated. this event is fired when the customer details are updated. if you want to be notified w | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a customer is updated. this event is fired when the customer details are updated. if you want to be notified w | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a customer is updated. this event is fired when the customer details are updated. if you want to be notified w | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a customer is deleted. **discord & slack support:** basic | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a customer is deleted. **discord & slack support:** basic | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a customer is deleted. **discord & slack support:** basic | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a customer is deleted. **discord & slack support:** basic | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a customer state has changed. it's triggered when: * customer is created, updated or deleted. * a subscription | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a customer state has changed. it's triggered when: * customer is created, updated or deleted. * a subscription | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a customer state has changed. it's triggered when: * customer is created, updated or deleted. * a subscription | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a customer state has changed. it's triggered when: * customer is created, updated or deleted. * a subscription | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a new customer seat is assigned. this event is triggered when a seat is assigned to a customer by the organiza | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a new customer seat is assigned. this event is triggered when a seat is assigned to a customer by the organiza | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a new customer seat is assigned. this event is triggered when a seat is assigned to a customer by the organiza | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a new customer seat is assigned. this event is triggered when a seat is assigned to a customer by the organiza | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a customer seat is claimed. this event is triggered when a customer accepts the seat invitation and claims the | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a customer seat is claimed. this event is triggered when a customer accepts the seat invitation and claims the | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a customer seat is claimed. this event is triggered when a customer accepts the seat invitation and claims the | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a customer seat is claimed. this event is triggered when a customer accepts the seat invitation and claims the | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a customer seat is revoked. this event is triggered when access to a seat is revoked, either manually by the o | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a customer seat is revoked. this event is triggered when access to a seat is revoked, either manually by the o | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a customer seat is revoked. this event is triggered when access to a seat is revoked, either manually by the o | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a customer seat is revoked. this event is triggered when access to a seat is revoked, either manually by the o | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a new member is created. a member represents an individual within a customer (team). this event is triggered w | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a new member is created. a member represents an individual within a customer (team). this event is triggered w | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a new member is created. a member represents an individual within a customer (team). this event is triggered w | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a new member is created. a member represents an individual within a customer (team). this event is triggered w | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a member is updated. this event is triggered when member details are updated, such as their name or role withi | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a member is updated. this event is triggered when member details are updated, such as their name or role withi | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a member is updated. this event is triggered when member details are updated, such as their name or role withi | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a member is updated. this event is triggered when member details are updated, such as their name or role withi | STRING |
| HIGH | server/polar/webhook/webhooks.py | 0 | sent when a member is deleted. this event is triggered when a member is removed from a customer. any active seats assign | STRING |
| HIGH | sdk/python/polar/v2027_01/webhooks.py | 0 | sent when a member is deleted. this event is triggered when a member is removed from a customer. any active seats assign | STRING |
| HIGH | sdk/python/polar/v2026_10/webhooks.py | 0 | sent when a member is deleted. this event is triggered when a member is removed from a customer. any active seats assign | STRING |
| HIGH | sdk/python/polar/v2026_04/webhooks.py | 0 | sent when a member is deleted. this event is triggered when a member is removed from a customer. any active seats assign | STRING |
| 1974 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/adapters/nextjs/src/customerPortal/customerPortal.ts | 21 | function configIsExternalCustomerIdConfig( | CODE |
| LOW | …c/checkout/checkout_decodeuri_corruption.repro.test.ts | 38 | function simulateServerThenSuccessPageRead(wireUrl: string) { | CODE |
| LOW | clients/packages/ui/src/components/ui/chart.tsx | 325 | function getPayloadConfigFromPayload( | CODE |
| LOW | clients/packages/cli/src/services/update.ts | 161 | export function getArchiveExtractionCommand( | CODE |
| LOW | clients/apps/app/auth/refresher.ts | 66 | function oauthTokenEndpointErrorCode(error: unknown): string | undefined { | CODE |
| LOW | clients/apps/app/auth/refresher.ts | 78 | function shouldClearSessionAfterTokenRefreshFailure(error: unknown): boolean { | CODE |
| LOW | clients/apps/app/providers/NotificationsProvider.tsx | 24 | async function registerForPushNotificationsAsync() { | CODE |
| LOW | clients/apps/app/providers/OrganizationProvider.tsx | 31 | export function PolarOrganizationProvider({ children }: PropsWithChildren) { | CODE |
| LOW | …/[organization]/portal/CustomerPortalLayoutWrapper.tsx | 18 | export function CustomerPortalLayoutWrapper({ | CODE |
| LOW | clients/apps/web/src/utils/order.ts | 41 | export function isOrderInDunningLifecycle( | CODE |
| LOW | clients/apps/web/src/utils/order.ts | 141 | export function getChargebackPreventionRefund( | CODE |
| LOW | clients/apps/web/src/utils/webhook/signatureNotice.ts | 5 | export function shouldShowWebhookSignatureNotice( | CODE |
| LOW | clients/apps/web/src/utils/i18n/index.ts | 8 | export function parseAcceptLanguageHeader( | CODE |
| LOW⚡ | clients/apps/web/src/utils/i18n/index.ts | 39 | function getLocaleFromAcceptLanguageHeader( | CODE |
| LOW⚡ | clients/apps/web/src/utils/i18n/index.ts | 45 | function getPrimaryLanguageForLocale(locale: string): string { | CODE |
| LOW⚡ | clients/apps/web/src/utils/i18n/index.ts | 49 | export function findMatchingLocaleInAcceptLanguageHeader( | CODE |
| LOW | …/components/Metrics/CancellationsDistributionChart.tsx | 30 | export default function CancellationsDistributionChart({ | CODE |
| LOW | …b/src/components/Metrics/CancellationsStackedChart.tsx | 57 | export default function CancellationsStackedChart({ | CODE |
| LOW | …nents/Metrics/dashboards/DashboardDetailClientPage.tsx | 32 | export default function DashboardDetailClientPage({ | CODE |
| LOW | …src/components/Settings/OrganizationDeleteSettings.tsx | 20 | export default function OrganizationDeleteSettings({ | CODE |
| LOW | …src/components/Settings/BackupCodesRegenerateModal.tsx | 11 | export default function BackupCodesRegenerateModal({ | CODE |
| LOW | …eb/src/components/Auth/OrganizationPermissionGuard.tsx | 11 | export default async function OrganizationPermissionGuard({ | CODE |
| LOW | clients/apps/web/src/components/Benefit/utils.tsx | 109 | export function isBenefitVisibilityConfigurable( | CODE |
| LOW | clients/apps/web/src/hooks/queries/customerPortal.ts | 8 | export function useCustomerPortalCustomer(options?: { | CODE |
| LOW | server/polar/config.py | 54 | def _validate_email_renderer_binary_path(value: Path) -> Path: | CODE |
| LOW | server/polar/config.py | 499 | def get_customer_portal_url_override( | STRING |
| LOW | server/polar/config.py | 717 | def apply_postgres_url_non_pooling(self) -> "Settings": | STRING |
| LOW | server/polar/config.py | 812 | def is_read_replica_configured(self) -> bool: | STRING |
| LOW | server/polar/config.py | 877 | def stripe_descriptor_suffix_max_length(self) -> int: | STRING |
| LOW | server/polar/config.py | 889 | def get_pydantic_gateway_model( | STRING |
| LOW | server/polar/exception_handlers.py | 28 | async def request_validation_exception_handler( | CODE |
| LOW | server/polar/exception_handlers.py | 48 | async def polar_redirection_exception_handler( | CODE |
| LOW | server/polar/logfire.py | 257 | def _request_attributes_mapper( | CODE |
| LOW | server/polar/redis.py | 34 | async def _disconnect_raise_on_watching(self, conn: Any, error: Exception) -> None: | CODE |
| LOW | server/polar/redis.py | 55 | def _disconnect_raise_on_watching(self, conn: Any, error: Exception) -> None: | CODE |
| LOW | server/polar/operational_errors.py | 21 | def _sql_timeout_error_matcher(exc: BaseException) -> bool: | CODE |
| LOW | server/polar/operational_errors.py | 37 | def _sql_lock_not_available_error_matcher(exc: BaseException) -> bool: | CODE |
| LOW | server/polar/operational_errors.py | 51 | def _sql_deadlock_error_matcher(exc: BaseException) -> bool: | CODE |
| LOW⚡ | server/polar/operational_errors.py | 62 | def _timeout_lock_error_matcher(exc: BaseException) -> bool: | CODE |
| LOW⚡ | server/polar/operational_errors.py | 66 | def _external_event_already_handled_error_matcher(exc: BaseException) -> bool: | CODE |
| LOW⚡ | server/polar/operational_errors.py | 73 | def _tinybird_operational_error_matcher(exc: BaseException) -> bool: | CODE |
| LOW⚡ | server/polar/operational_errors.py | 80 | def _polar_self_client_operational_error_matcher(exc: BaseException) -> bool: | CODE |
| LOW⚡ | server/polar/operational_errors.py | 87 | def _email_sender_operational_error_matcher(exc: BaseException) -> bool: | CODE |
| LOW | server/polar/organization/service.py | 178 | def _is_hosted_website_domain(website_domain: str) -> bool: | CODE |
| LOW | server/polar/organization/service.py | 185 | def _email_domain_matches_website(email_domain: str, website_domain: str) -> bool: | CODE |
| LOW | server/polar/organization/service.py | 242 | def _merge_customer_portal_settings( | CODE |
| LOW | server/polar/organization/service.py | 544 | async def _validate_currency_change( | CODE |
| LOW | server/polar/organization/service.py | 709 | async def reset_onboarding_for_review( | CODE |
| LOW | server/polar/organization/service.py | 1073 | async def _sync_polar_self_customer_owner( | CODE |
| LOW | server/polar/organization/service.py | 1189 | def _enqueue_cancel_pending_payouts(self, organization: Organization) -> None: | CODE |
| LOW | server/polar/organization/service.py | 1198 | def _enqueue_reject_stripe_account( | CODE |
| LOW | server/polar/organization/service.py | 1225 | async def confirm_organization_reviewed( | CODE |
| LOW | server/polar/organization/service.py | 1359 | async def backoffice_submit_and_maybe_activate( | CODE |
| LOW | server/polar/organization/service.py | 1509 | async def handle_ongoing_review_verdict( | CODE |
| LOW | server/polar/organization/service.py | 1619 | async def unsnooze_expired_organizations( | CODE |
| LOW | server/polar/organization/service.py | 1639 | async def offboard_expired_organizations( | CODE |
| LOW | server/polar/organization/service.py | 1672 | async def complete_expired_offboarding( | CODE |
| LOW | server/polar/organization/service.py | 1714 | async def cancel_expired_organizations_subscriptions( | CODE |
| LOW | server/polar/organization/service.py | 1733 | async def set_organization_offboarded( | CODE |
| LOW | server/polar/organization/service.py | 1752 | def _transition_to_offboarded( | CODE |
| 6486 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | server/polar/member/service.py | 240 | Soft delete a member. Any active seats assigned to this member will be automatically revoked b | STRING |
| HIGH | server/polar/member/service.py | 654 | Create a new member for a customer. The customer is resolved by either its internal ID (`customer_id`) | STRING |
| HIGH | server/polar/kit/http.py | 74 | Validate that the URL is crawlable (not private/reserved). Args: url: The URL to validate. Return | STRING |
| HIGH | server/polar/tax/tax_id.py | 515 | Validate a tax ID for a given country. Args: number: The tax ID to validate. country: The coun | STRING |
| HIGH | server/polar/tax/tax_id.py | 543 | Convert a tax ID to the format expected by Stripe. Args: value: A tuple containing the tax ID and the | STRING |
| HIGH | server/polar/tax/calculation/__init__.py | 79 | Calculate tax for the given parameters. Tries to calculate tax using the configured tax processors in order. If | STRING |
| HIGH | server/polar/backoffice/forms.py | 63 | Render the form field as HTML. Args: id: The HTML id and name attribute for the field. | STRING |
| HIGH | server/polar/backoffice/components/_description_list.py | 98 | Extract the raw attribute value from the data object. Args: item: The data object to extract from. | STRING |
| HIGH | server/polar/backoffice/components/_description_list.py | 112 | Get the formatted string value for display. This method can be overridden in subclasses to provide custom forma | STRING |
| HIGH | server/polar/backoffice/components/_description_list.py | 146 | Get the formatted datetime string for display. Args: item: The data object to extract the datetime | STRING |
| HIGH | server/polar/backoffice/components/_datatable.py | 211 | Extract the raw attribute value from the model item. Args: item: The model item to extract from. | STRING |
| HIGH | server/polar/backoffice/components/_datatable.py | 225 | Get the formatted string value for display. This method can be overridden in subclasses to provide custom forma | STRING |
| HIGH | server/polar/backoffice/components/_datatable.py | 260 | Get the formatted datetime string for display. Args: item: The model item to extract the datetime f | STRING |
| HIGH | server/polar/product/price_set.py | 48 | Create a PriceSet from a product's prices filtered by currency. Args: product: The product containi | STRING |
| HIGH | server/polar/product/price_set.py | 65 | Create a PriceSet from a sequence of prices filtered by currency. Iterates through the provided currencies in o | STRING |
| HIGH | server/polar/benefit/strategies/base/service.py | 103 | Executes the logic to grant a benefit to a customer. Args: benefit: The Benefit to grant. | STRING |
| HIGH | server/polar/benefit/strategies/base/service.py | 141 | Executes the logic when a subscription is renewed for a new cycle for a granted benefit. Args: | STRING |
| HIGH | server/polar/benefit/strategies/base/service.py | 173 | Executes the logic to revoke a benefit from a customer. Args: benefit: The Benefit to revo | STRING |
| HIGH | server/polar/benefit/strategies/base/service.py | 217 | Validates the benefit properties before creation. Useful if we need to call external logic to make sur | STRING |
| HIGH | sdk/python/polar/v2027_01/services/files.py | 93 | List files. **Scopes**: `files:read` `files:write` Args: organization_id: Filter | STRING |
| HIGH | sdk/python/polar/v2027_01/services/files.py | 404 | List files. **Scopes**: `files:read` `files:write` Args: organization_id: Filter | STRING |
| HIGH | sdk/python/polar/v2027_01/services/payments.py | 110 | List payments. **Scopes**: `payments:read` Args: organization_id: Filter by organ | STRING |
| HIGH | sdk/python/polar/v2027_01/services/payments.py | 286 | List payments. **Scopes**: `payments:read` Args: organization_id: Filter by organ | STRING |
| HIGH | sdk/python/polar/v2027_01/services/checkouts.py | 121 | List checkout sessions. **Scopes**: `checkouts:read` `checkouts:write` Args: orga | STRING |
| HIGH | sdk/python/polar/v2027_01/services/checkouts.py | 523 | List checkout sessions. **Scopes**: `checkouts:read` `checkouts:write` Args: orga | STRING |
| HIGH | sdk/python/polar/v2027_01/services/meters.py | 111 | List meters. **Scopes**: `meters:read` `meters:write` Args: organization_id: Filt | STRING |
| HIGH | sdk/python/polar/v2027_01/services/meters.py | 470 | List meters. **Scopes**: `meters:read` `meters:write` Args: organization_id: Filt | STRING |
| HIGH | sdk/python/polar/v2027_01/services/disputes.py | 95 | List disputes. **Scopes**: `disputes:read` `disputes:write` Args: organization_id | STRING |
| HIGH | sdk/python/polar/v2027_01/services/disputes.py | 294 | List disputes. **Scopes**: `disputes:read` `disputes:write` Args: organization_id | STRING |
| HIGH | sdk/python/polar/v2027_01/services/license_keys.py | 109 | Get license keys connected to the given organization & filters. **Scopes**: `license_keys:read` `licen | STRING |
| HIGH | sdk/python/polar/v2027_01/services/license_keys.py | 534 | Get license keys connected to the given organization & filters. **Scopes**: `license_keys:read` `licen | STRING |
| HIGH | sdk/python/polar/v2027_01/services/customer_meters.py | 101 | List customer meters. **Scopes**: `customer_meters:read` Args: organization_id: F | STRING |
| HIGH | sdk/python/polar/v2027_01/services/customer_meters.py | 265 | List customer meters. **Scopes**: `customer_meters:read` Args: organization_id: F | STRING |
| HIGH | sdk/python/polar/v2027_01/services/checkout_links.py | 96 | List checkout links. **Scopes**: `checkout_links:read` `checkout_links:write` Args: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/checkout_links.py | 395 | List checkout links. **Scopes**: `checkout_links:read` `checkout_links:write` Args: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/events.py | 201 | List event names. **Scopes**: `events:read` `events:write` Args: organization_id: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/events.py | 495 | List event names. **Scopes**: `events:read` `events:write` Args: organization_id: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/refunds.py | 112 | List refunds. **Scopes**: `refunds:read` `refunds:write` Args: id: Filter by refu | STRING |
| HIGH | sdk/python/polar/v2027_01/services/refunds.py | 287 | List refunds. **Scopes**: `refunds:read` `refunds:write` Args: id: Filter by refu | STRING |
| HIGH | sdk/python/polar/v2027_01/services/subscriptions.py | 164 | List subscriptions. **Scopes**: `subscriptions:read` `subscriptions:write` Args: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/subscriptions.py | 698 | List subscriptions. **Scopes**: `subscriptions:read` `subscriptions:write` Args: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/discounts.py | 95 | List discounts. **Scopes**: `discounts:read` `discounts:write` Args: organization | STRING |
| HIGH | sdk/python/polar/v2027_01/services/discounts.py | 385 | List discounts. **Scopes**: `discounts:read` `discounts:write` Args: organization | STRING |
| HIGH | sdk/python/polar/v2027_01/services/products.py | 128 | List products. **Scopes**: `products:read` `products:write` Args: id: Filter by p | STRING |
| HIGH | sdk/python/polar/v2027_01/services/products.py | 516 | List products. **Scopes**: `products:read` `products:write` Args: id: Filter by p | STRING |
| HIGH | sdk/python/polar/v2027_01/services/orders.py | 150 | List orders. **Scopes**: `orders:read` Args: organization_id: Filter by organizat | STRING |
| HIGH | sdk/python/polar/v2027_01/services/orders.py | 691 | List orders. **Scopes**: `orders:read` Args: organization_id: Filter by organizat | STRING |
| HIGH | sdk/python/polar/v2027_01/services/organizations.py | 92 | List organizations. **Scopes**: `organizations:read` `organizations:write` Args: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/organizations.py | 322 | List organizations. **Scopes**: `organizations:read` `organizations:write` Args: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/benefits.py | 135 | List benefits. **Scopes**: `benefits:read` `benefits:write` Args: organization_id | STRING |
| HIGH | sdk/python/polar/v2027_01/services/benefits.py | 570 | List the downloadable files for a benefit with their download statistics. **Scopes**: `benefits:read` | STRING |
| HIGH | sdk/python/polar/v2027_01/services/benefits.py | 678 | List the individual grants for a benefit. It's especially useful to check if a user has been granted a | STRING |
| HIGH | sdk/python/polar/v2027_01/services/benefits.py | 807 | List benefits. **Scopes**: `benefits:read` `benefits:write` Args: organization_id | STRING |
| HIGH | sdk/python/polar/v2027_01/services/benefits.py | 1243 | List the downloadable files for a benefit with their download statistics. **Scopes**: `benefits:read` | STRING |
| HIGH | sdk/python/polar/v2027_01/services/benefits.py | 1352 | List the individual grants for a benefit. It's especially useful to check if a user has been granted a | STRING |
| HIGH | sdk/python/polar/v2027_01/services/custom_fields.py | 107 | List custom fields. **Scopes**: `custom_fields:read` `custom_fields:write` Args: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/custom_fields.py | 480 | List custom fields. **Scopes**: `custom_fields:read` `custom_fields:write` Args: | STRING |
| HIGH | sdk/python/polar/v2027_01/services/webhooks.py | 87 | List webhook endpoints. **Scopes**: `webhooks:read` `webhooks:write` Args: organi | STRING |
| HIGH | sdk/python/polar/v2027_01/services/webhooks.py | 413 | List webhook deliveries. Deliveries are all the attempts to deliver a webhook event to an endpoint. | STRING |
| HIGH | sdk/python/polar/v2027_01/services/webhooks.py | 561 | List webhook endpoints. **Scopes**: `webhooks:read` `webhooks:write` Args: organi | STRING |
| 189 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | terraform/test/ecs.tf | 7 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/ecs.tf | 9 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/vercel-services.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/vercel-services.tf | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/network.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/network.tf | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/aws.tf | 201 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/aws.tf | 205 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/aws.tf | 248 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/aws.tf | 250 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/aws.tf | 275 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/aws.tf | 277 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/aws.tf | 337 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/aws.tf | 339 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/render.tf | 2 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/render.tf | 4 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/render.tf | 13 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/render.tf | 15 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/render.tf | 28 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/render.tf | 30 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/render.tf | 72 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/render.tf | 74 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/render.tf | 80 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/test/render.tf | 82 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/render.tf | 175 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/render.tf | 177 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/render.tf | 226 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/render.tf | 228 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/vercel.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/test/vercel.tf | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/ecs.tf | 7 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/ecs.tf | 9 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/network.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/network.tf | 3 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/aws.tf | 209 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/aws.tf | 213 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/aws.tf | 268 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/aws.tf | 270 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/aws.tf | 292 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/aws.tf | 294 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/aws.tf | 350 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/aws.tf | 352 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/variables.tf | 1 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/variables.tf | 3 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/sandbox/render.tf | 2 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/sandbox/render.tf | 4 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/sandbox/render.tf | 13 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/sandbox/render.tf | 15 | # ============================================================================ | COMMENT |
| MEDIUM | terraform/sandbox/render.tf | 30 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/render.tf | 32 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/render.tf | 47 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/render.tf | 49 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/sandbox/render.tf | 76 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/sandbox/render.tf | 78 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/sandbox/render.tf | 84 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | terraform/sandbox/render.tf | 86 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/render.tf | 164 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/render.tf | 166 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/render.tf | 213 | # ============================================================================= | COMMENT |
| MEDIUM | terraform/sandbox/render.tf | 215 | # ============================================================================= | COMMENT |
| 205 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/polar/tasks.py | 1 | CODE | |
| LOW | server/polar/tasks.py | 2 | CODE | |
| LOW | server/polar/tasks.py | 3 | CODE | |
| LOW | server/polar/tasks.py | 4 | CODE | |
| LOW | server/polar/tasks.py | 5 | CODE | |
| LOW | server/polar/tasks.py | 6 | CODE | |
| LOW | server/polar/tasks.py | 7 | CODE | |
| LOW | server/polar/tasks.py | 8 | CODE | |
| LOW | server/polar/tasks.py | 9 | CODE | |
| LOW | server/polar/tasks.py | 10 | CODE | |
| LOW | server/polar/tasks.py | 11 | CODE | |
| LOW | server/polar/tasks.py | 12 | CODE | |
| LOW | server/polar/tasks.py | 13 | CODE | |
| LOW | server/polar/tasks.py | 14 | CODE | |
| LOW | server/polar/tasks.py | 15 | CODE | |
| LOW | server/polar/tasks.py | 16 | CODE | |
| LOW | server/polar/tasks.py | 17 | CODE | |
| LOW | server/polar/tasks.py | 18 | CODE | |
| LOW | server/polar/tasks.py | 19 | CODE | |
| LOW | server/polar/tasks.py | 20 | CODE | |
| LOW | server/polar/tasks.py | 21 | CODE | |
| LOW | server/polar/tasks.py | 22 | CODE | |
| LOW | server/polar/tasks.py | 23 | CODE | |
| LOW | server/polar/tasks.py | 24 | CODE | |
| LOW | server/polar/tasks.py | 25 | CODE | |
| LOW | server/polar/tasks.py | 26 | CODE | |
| LOW | server/polar/tasks.py | 27 | CODE | |
| LOW | server/polar/tasks.py | 28 | CODE | |
| LOW | server/polar/tasks.py | 29 | CODE | |
| LOW | server/polar/tasks.py | 30 | CODE | |
| LOW | server/polar/tasks.py | 31 | CODE | |
| LOW | server/polar/tasks.py | 32 | CODE | |
| LOW | server/polar/tasks.py | 33 | CODE | |
| LOW | server/polar/tasks.py | 34 | CODE | |
| LOW | server/polar/tasks.py | 35 | CODE | |
| LOW | server/polar/tasks.py | 36 | CODE | |
| LOW | server/polar/tasks.py | 37 | CODE | |
| LOW | server/polar/tasks.py | 38 | CODE | |
| LOW | server/polar/tasks.py | 39 | CODE | |
| LOW | server/polar/tasks.py | 40 | CODE | |
| LOW | server/polar/tasks.py | 41 | CODE | |
| LOW | server/polar/tasks.py | 42 | CODE | |
| LOW | server/polar/tasks.py | 43 | CODE | |
| LOW | server/polar/tasks.py | 44 | CODE | |
| LOW | server/polar/tasks.py | 45 | CODE | |
| LOW | server/polar/tasks.py | 46 | CODE | |
| LOW | server/polar/tasks.py | 47 | CODE | |
| LOW | server/polar/tasks.py | 48 | CODE | |
| LOW | server/polar/tasks.py | 49 | CODE | |
| LOW | server/polar/openapi.py | 14 | CODE | |
| LOW | server/polar/logfire.py | 24 | CODE | |
| LOW | server/polar/logfire.py | 25 | CODE | |
| LOW | server/polar/logfire.py | 25 | CODE | |
| LOW | server/polar/logfire.py | 26 | CODE | |
| LOW | server/polar/logfire.py | 27 | CODE | |
| LOW | server/polar/__init__.py | 5 | CODE | |
| LOW | server/polar/postgres.py | 7 | CODE | |
| LOW | server/polar/app.py | 8 | CODE | |
| LOW | server/polar/organization/service.py | 49 | CODE | |
| LOW | server/polar/event_type/__init__.py | 1 | CODE | |
| 745 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | server/polar/transaction/service/dispute.py | 106 | # Create the dispute, i.e. the transaction withdrawing the amount | COMMENT |
| MEDIUM | …rver/polar/customer_portal/endpoints/oauth_accounts.py | 224 | # Create a session only after the OAuth provider has confirmed the code. | COMMENT |
| MEDIUM | …ver/polar/backoffice/organizations_v2/orders_import.py | 340 | # Create a grant manually to force properties | COMMENT |
| MEDIUM | server/polar/backoffice/organizations_v2/analytics.py | 171 | # Create a copy to avoid mutating the original list | COMMENT |
| MEDIUM | server/polar/backoffice/organizations_v2/endpoints.py | 4711 | # Create the credit | COMMENT |
| MEDIUM | server/polar/payout/service.py | 765 | # Create a new payout attempt | COMMENT |
| MEDIUM⚡ | server/tests/organization/test_service.py | 2191 | # Create a review record | COMMENT |
| MEDIUM | server/tests/organization/test_endpoints.py | 1312 | # Create a customer and order for this organization | COMMENT |
| MEDIUM | server/tests/organization/test_endpoints.py | 1345 | # Create a customer and active subscription for this organization | COMMENT |
| MEDIUM | server/tests/order/test_service.py | 3656 | # Create a pending order with tax calculation processor ID | COMMENT |
| MEDIUM | server/tests/order/test_service.py | 3671 | # Create a payment | COMMENT |
| MEDIUM | server/tests/order/test_service.py | 3706 | # Create a customer with a billing address so that _calculate_tax | COMMENT |
| MEDIUM | server/tests/order/test_service.py | 4654 | # Create a failed payment with a non-recoverable decline reason | COMMENT |
| MEDIUM | server/tests/order/test_service.py | 6749 | # Create a subscription | COMMENT |
| MEDIUM | server/tests/transaction/service/test_transaction.py | 146 | # Create an old balance transaction (8 days ago - should be available) | COMMENT |
| MEDIUM | server/tests/transaction/service/test_transaction.py | 158 | # Create a recent balance transaction (2 days ago - should NOT be available) | COMMENT |
| MEDIUM | server/tests/transaction/service/test_transaction.py | 169 | # Create a payout transaction (2 days ago - should ALWAYS be available) | COMMENT |
| MEDIUM | server/tests/transaction/service/test_transaction.py | 180 | # Create a payout fee (2 days ago - should ALWAYS be available) | COMMENT |
| MEDIUM | server/tests/transaction/service/test_refund.py | 479 | # Create a charge and order | COMMENT |
| MEDIUM | server/tests/transaction/service/test_refund.py | 491 | # Create the payment transaction | COMMENT |
| MEDIUM | server/tests/transaction/service/test_refund.py | 771 | # Create a charge and order | COMMENT |
| MEDIUM | server/tests/transaction/service/test_refund.py | 784 | # Create the payment transaction | COMMENT |
| MEDIUM⚡ | server/tests/merchant_migration/test_stripe_adapter.py | 180 | # Creating a migration needs both the id and the country; one read serves | COMMENT |
| MEDIUM | server/tests/customer_email_update/test_service.py | 96 | # Create an existing pending verification | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 24 | # Create a checkout | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 27 | # Create a charge with checkout_id in metadata | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 67 | # Create an order | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 74 | # Create a charge with invoice | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 108 | # Create a checkout | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 114 | # Create an order from the checkout | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 122 | # Create a charge with checkout_id in metadata | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 310 | # Create a checkout | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 313 | # Create a payment intent with last_payment_error | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 359 | # Create an order | COMMENT |
| MEDIUM⚡ | server/tests/payment/test_service.py | 366 | # Create a payment intent with last_payment_error | COMMENT |
| MEDIUM | server/tests/payment/test_service.py | 161 | # Create a charge with wallet_id in metadata | COMMENT |
| MEDIUM | server/tests/payment/test_service.py | 200 | # Create a checkout | COMMENT |
| MEDIUM | server/tests/payment/test_service.py | 206 | # Create a charge with checkout_id in metadata | COMMENT |
| MEDIUM | server/tests/payment/test_service.py | 412 | # Create an order | COMMENT |
| MEDIUM | server/tests/payment/test_service.py | 491 | # Create an order | COMMENT |
| MEDIUM | server/tests/payment/test_service.py | 498 | # Create a payment intent with last_payment_error | COMMENT |
| MEDIUM | server/tests/member/test_service.py | 142 | # Create a member | COMMENT |
| MEDIUM | server/tests/member/test_service.py | 542 | # Create the first member (owner) | COMMENT |
| MEDIUM | server/tests/member/test_service.py | 674 | # Create the first member (owner) | COMMENT |
| MEDIUM⚡ | server/tests/member/test_endpoints.py | 200 | # Create a customer for a different organization that the user doesn't have access to | COMMENT |
| MEDIUM⚡ | server/tests/member/test_endpoints.py | 209 | # Create a member | COMMENT |
| MEDIUM | server/tests/member/test_endpoints.py | 156 | # Create a customer | COMMENT |
| MEDIUM | server/tests/member/test_endpoints.py | 1292 | # Create a customer and member | COMMENT |
| MEDIUM | server/tests/member/test_endpoints.py | 1341 | # Create a member for a different organization | COMMENT |
| MEDIUM | server/tests/customer_portal/endpoints/test_customer.py | 161 | # Create a payment method with no subscriptions | COMMENT |
| MEDIUM | server/tests/customer_portal/endpoints/test_customer.py | 187 | # Create an active subscription using the first payment method | COMMENT |
| MEDIUM⚡ | server/tests/customer_portal/endpoints/test_customer.py | 219 | # Create a payment method | COMMENT |
| MEDIUM⚡ | server/tests/customer_portal/endpoints/test_customer.py | 222 | # Create an active subscription using this payment method | COMMENT |
| MEDIUM⚡ | server/tests/customer_portal/endpoints/test_customer.py | 250 | # Create a payment method | COMMENT |
| MEDIUM⚡ | server/tests/customer_portal/endpoints/test_customer.py | 253 | # Create a canceled subscription using this payment method | COMMENT |
| MEDIUM⚡ | server/tests/customer_portal/endpoints/test_customer.py | 282 | # Create a payment method | COMMENT |
| MEDIUM⚡ | server/tests/customer_portal/endpoints/test_customer.py | 285 | # Create a subscription set to cancel at period end using this payment method | COMMENT |
| MEDIUM | server/tests/customer_portal/endpoints/test_member.py | 196 | # Create a member first | COMMENT |
| MEDIUM | server/tests/customer_portal/endpoints/test_member.py | 369 | # Create a regular member | COMMENT |
| MEDIUM | server/tests/customer_portal/endpoints/test_member.py | 458 | # Create a billing manager to promote to owner | COMMENT |
| 93 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/polar/webhook/endpoints.py | 232 | CODE | |
| LOW | server/polar/event_type/service.py | 42 | CODE | |
| LOW | server/polar/event_type/endpoints.py | 26 | CODE | |
| LOW | server/polar/order/service.py | 376 | CODE | |
| LOW | server/polar/order/endpoints.py | 100 | CODE | |
| LOW | server/polar/order/endpoints.py | 179 | CODE | |
| LOW | server/polar/metrics/endpoints.py | 59 | CODE | |
| LOW | server/polar/metrics/endpoints.py | 154 | CODE | |
| LOW | server/polar/checkout_link/endpoints.py | 185 | CODE | |
| LOW | server/polar/merchant_migration/precheck.py | 1010 | CODE | |
| LOW | server/polar/merchant_migration/endpoints.py | 474 | CODE | |
| LOW | server/polar/auth/service.py | 66 | CODE | |
| LOW | server/polar/auth/oauth2/router.py | 94 | CODE | |
| LOW | server/polar/auth/sso/endpoints.py | 191 | CODE | |
| LOW | server/polar/payment/service.py | 37 | CODE | |
| LOW | server/polar/payment/endpoints.py | 32 | CODE | |
| LOW | server/polar/customer_portal/endpoints/benefit_grant.py | 56 | CODE | |
| LOW | server/polar/customer_portal/service/benefit_grant.py | 45 | CODE | |
| LOW | server/polar/kit/html.py | 22 | CODE | |
| LOW | server/polar/kit/csv.py | 29 | CODE | |
| LOW | server/polar/kit/db/postgres.py | 47 | CODE | |
| LOW | server/polar/kit/db/postgres.py | 83 | CODE | |
| LOW | …r/polar/backoffice/organizations_v2/views/list_view.py | 463 | CODE | |
| LOW | …ce/organizations_v2/views/sections/overview_section.py | 48 | CODE | |
| LOW | server/polar/backoffice/support_cases/queries.py | 54 | CODE | |
| LOW | server/polar/product/service.py | 95 | CODE | |
| LOW | server/polar/product/endpoints.py | 61 | CODE | |
| LOW | server/polar/product/endpoints.py | 124 | CODE | |
| LOW | server/polar/checkout/service.py | 285 | CODE | |
| LOW | server/polar/subscription/service.py | 567 | CODE | |
| LOW | server/polar/subscription/endpoints.py | 76 | CODE | |
| LOW | server/polar/subscription/endpoints.py | 166 | CODE | |
| LOW | server/polar/email_update/endpoints.py | 63 | CODE | |
| LOW | server/polar/worker/_runner.py | 184 | CODE | |
| LOW | server/polar/meter/endpoints.py | 180 | CODE | |
| LOW | server/polar/event/tinybird_repository.py | 106 | CODE | |
| LOW | server/polar/event/tinybird_repository.py | 222 | CODE | |
| LOW | server/polar/event/tinybird_repository.py | 267 | CODE | |
| LOW | server/polar/event/tinybird_repository.py | 393 | CODE | |
| LOW | server/polar/event/endpoints.py | 83 | CODE | |
| LOW | server/polar/event/endpoints.py | 232 | CODE | |
| LOW | server/polar/event/endpoints.py | 288 | CODE | |
| LOW | server/polar/event/endpoints.py | 340 | CODE | |
| LOW | server/polar/event/endpoints.py | 397 | CODE | |
| LOW | server/polar/refund/service.py | 123 | CODE | |
| LOW | server/polar/refund/endpoints.py | 27 | CODE | |
| LOW | server/polar/benefit/service.py | 36 | CODE | |
| LOW | server/polar/benefit/grant/service.py | 92 | CODE | |
| LOW | server/polar/benefit/grant/endpoints.py | 82 | CODE | |
| LOW | server/tests/metrics/test_tinybird_metrics.py | 1089 | CODE | |
| LOW | server/tests/transaction/conftest.py | 30 | CODE | |
| LOW | server/tests/merchant_migration/test_stripe_adapter.py | 274 | CODE | |
| LOW | server/tests/merchant_migration/test_stripe_adapter.py | 352 | CODE | |
| LOW | server/tests/merchant_migration/test_stripe_adapter.py | 415 | CODE | |
| LOW | server/tests/merchant_migration/test_stripe_adapter.py | 1071 | CODE | |
| LOW | server/tests/merchant_migration/test_stripe_adapter.py | 1102 | CODE | |
| LOW | server/tests/merchant_migration/test_precheck.py | 137 | CODE | |
| LOW | server/tests/merchant_migration/_helpers.py | 144 | CODE | |
| LOW | server/tests/merchant_migration/_helpers.py | 177 | CODE | |
| LOW | server/tests/dispute/test_service.py | 1628 | CODE | |
| 264 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | server/polar/middlewares.py | 270 | except ValueError: | CODE |
| HIGH | server/polar/webhook/schemas.py | 52 | except ValueError: | CODE |
| HIGH | server/polar/order/tasks.py | 113 | except NoPendingBillingEntries: | CODE |
| HIGH | server/polar/eventstream/endpoints.py | 44 | except RuntimeError: | CODE |
| HIGH | server/polar/oauth2/authorization_server.py | 498 | except AttributeError: | CODE |
| HIGH | server/polar/oauth2/authorization_server.py | 512 | except AttributeError: | CODE |
| HIGH | server/polar/customer_portal/service/customer.py | 284 | except IncompatibleTaxIDFormat: | CODE |
| HIGH | server/polar/kit/http.py | 234 | except KeyError: | CODE |
| HIGH | server/polar/tax/calculation/stripe.py | 131 | except IncompatibleTaxIDFormat: | CODE |
| HIGH | server/polar/models/customer_seat.py | 144 | except InvalidRequestError: | CODE |
| HIGH | server/polar/backoffice/users/endpoints.py | 348 | except stripe_lib.StripeError: | CODE |
| HIGH | server/polar/payment_method/service.py | 358 | except stripe_lib.InvalidRequestError: | CODE |
| HIGH | server/polar/observability/task_logging.py | 75 | except TypeError: | CODE |
| HIGH | server/polar/dispute/service.py | 333 | except DisputeTransactionAlreadyExistsError: | CODE |
| HIGH | server/polar/checkout/service.py | 722 | except TaxCalculationLogicalError: | CODE |
| HIGH | server/polar/checkout/service.py | 1033 | except TaxCalculationLogicalError: | CODE |
| HIGH | server/polar/checkout/service.py | 1054 | except TaxCalculationLogicalError: | CODE |
| HIGH | server/polar/checkout/service.py | 900 | except PolarRequestValidationError: | CODE |
| HIGH | server/polar/checkout/service.py | 871 | except ( | CODE |
| HIGH | server/polar/checkout/service.py | 940 | except EmailNotValidError: | CODE |
| HIGH | server/polar/checkout/service.py | 965 | except PolarRequestValidationError: | CODE |
| HIGH | server/polar/checkout/service.py | 3037 | except IncompatibleTaxIDFormat: | CODE |
| HIGH | server/polar/checkout/service.py | 3053 | except IncompatibleTaxIDFormat: | CODE |
| HIGH | server/polar/checkout/service.py | 993 | except PolarRequestValidationError: | CODE |
| HIGH | server/polar/integrations/polar/client.py | 146 | except ResourceNotFound: | CODE |
| HIGH | server/polar/integrations/tinybird/client.py | 199 | except ValueError: | CODE |
| HIGH | server/polar/integrations/stripe/tasks.py | 166 | except UnhandledPaymentIntent: | CODE |
| HIGH | server/polar/integrations/stripe/tasks.py | 196 | except payment.OutdatedCheckoutIntent: | CODE |
| HIGH | server/polar/worker/_health.py | 193 | except asyncio.CancelledError: | CODE |
| HIGH | server/polar/refund/service.py | 491 | except RefundTransactionAlreadyExistsError: | CODE |
| HIGH | server/polar/refund/service.py | 394 | except RefundTransactionDoesNotExistError: | CODE |
| HIGH | server/polar/refund/service.py | 528 | except AlreadyRevertedError: | CODE |
| HIGH | server/polar/payout/tasks.py | 94 | except PayoutAccountInsufficientBalance: | CODE |
| HIGH | server/polar/payout/tasks.py | 98 | except PayoutAlreadyTriggered: | CODE |
| HIGH | server/polar/benefit/grant/service.py | 665 | except BenefitActionRequiredError: | CODE |
| HIGH | server/polar/benefit/grant/service.py | 305 | except BenefitActionRequiredError: | CODE |
| HIGH | server/scripts/tinybird_test_workspace.py | 23 | except httpx.RequestError: | CODE |
| HIGH | server/scripts/tinybird_test_workspace.py | 125 | except httpx.RequestError: | CODE |
| HIGH | server/scripts/tax_filing_imports.py | 74 | except OSError: | CODE |
| HIGH | dev/cli/_analytics_send.py | 31 | except Exception: | CODE |
| HIGH | dev/cli/_analytics_send.py | 74 | except Exception: | CODE |
| HIGH | dev/cli/_analytics_send.py | 48 | except Exception: | CODE |
| HIGH | dev/cli/cli.py | 158 | except Exception: | CODE |
| HIGH | dev/cli/cli.py | 387 | except Exception: | CODE |
| HIGH | dev/cli/cli.py | 406 | except Exception: | CODE |
| HIGH | dev/cli/analytics.py | 131 | except Exception: | CODE |
| HIGH | dev/cli/up_steps/02_setup_node.py | 107 | except ValueError: | CODE |
| HIGH | dev/cli/up_steps/05_wait_for_services.py | 68 | except ValueError: | CODE |
| HIGH | dev/cli/commands/snap.py | 563 | except OSError: | CODE |
| HIGH | dev/cli/commands/snap.py | 237 | except Exception: | CODE |
| HIGH | dev/cli/commands/snap.py | 260 | except Exception: | CODE |
| HIGH | dev/cli/commands/snap.py | 434 | except Exception: | CODE |
| HIGH | dev/cli/commands/snap.py | 156 | except ProcessLookupError: | CODE |
| HIGH | dev/cli/commands/snap.py | 761 | except ValueError: | CODE |
| HIGH | dev/cli/commands/snap.py | 1332 | except (ProcessLookupError, PermissionError): | CODE |
| HIGH | dev/cli/commands/killports.py | 56 | except ProcessLookupError: | CODE |
| HIGH | dev/cli/commands/killports.py | 65 | except ProcessLookupError: | CODE |
| HIGH | dev/cli/commands/status.py | 46 | except (ValueError, OSError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/polar/middlewares.py | 26 | CODE | |
| LOW | server/polar/organization/service.py | 2313 | CODE | |
| LOW | server/polar/organization/resolver.py | 24 | CODE | |
| LOW | server/polar/webhook/service.py | 261 | CODE | |
| LOW | server/polar/event_type/service.py | 42 | CODE | |
| LOW | server/polar/order/service.py | 1797 | CODE | |
| LOW | server/polar/order/service.py | 2007 | CODE | |
| LOW | server/polar/order/repository.py | 468 | CODE | |
| LOW | server/polar/metrics/service.py | 59 | CODE | |
| LOW | server/polar/metrics/service.py | 81 | CODE | |
| LOW | server/polar/metrics/service.py | 553 | CODE | |
| LOW | server/polar/metrics/queries_tinybird.py | 55 | CODE | |
| LOW | server/polar/metrics/queries_tinybird.py | 117 | CODE | |
| LOW | server/polar/transaction/service/dispute.py | 61 | CODE | |
| LOW | server/polar/transaction/service/refund.py | 61 | CODE | |
| LOW | server/polar/transaction/service/refund.py | 178 | CODE | |
| LOW | server/polar/eventstream/endpoints.py | 26 | CODE | |
| LOW | server/polar/eventstream/endpoints.py | 56 | CODE | |
| LOW | server/polar/custom_field/service.py | 42 | CODE | |
| LOW | server/polar/checkout_link/service.py | 51 | CODE | |
| LOW | server/polar/merchant_migration/importer.py | 982 | CODE | |
| LOW | server/polar/merchant_migration/precheck.py | 1671 | CODE | |
| LOW | server/polar/merchant_migration/precheck.py | 1851 | CODE | |
| LOW | server/polar/merchant_migration/precheck.py | 319 | CODE | |
| LOW | server/polar/merchant_migration/precheck.py | 1491 | CODE | |
| LOW | server/polar/merchant_migration/repository.py | 978 | CODE | |
| LOW | server/polar/auth/middlewares.py | 135 | CODE | |
| LOW | server/polar/member/service.py | 379 | CODE | |
| LOW | server/polar/organization_access_token/service.py | 46 | CODE | |
| LOW | …rver/polar/customer_portal/endpoints/oauth_accounts.py | 116 | CODE | |
| LOW | server/polar/customer_portal/service/subscription.py | 95 | CODE | |
| LOW | server/polar/customer_portal/service/order.py | 66 | CODE | |
| LOW | server/polar/customer_portal/service/benefit_grant.py | 45 | CODE | |
| LOW | server/polar/customer_portal/service/benefit_grant.py | 152 | CODE | |
| LOW | server/polar/kit/schemas.py | 30 | CODE | |
| LOW | server/polar/kit/schemas.py | 52 | CODE | |
| LOW | server/polar/kit/versioning.py | 351 | CODE | |
| LOW | server/polar/kit/pagination.py | 151 | CODE | |
| LOW | server/polar/kit/pagination.py | 197 | CODE | |
| LOW | server/polar/tax/repository.py | 33 | CODE | |
| LOW | server/polar/user/service.py | 311 | CODE | |
| LOW | server/polar/models/subscription_product_price.py | 47 | CODE | |
| LOW | server/polar/models/order_item.py | 90 | CODE | |
| LOW | server/polar/models/refund.py | 111 | CODE | |
| LOW | server/polar/backoffice/forms.py | 608 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 156 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 224 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 669 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 734 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 770 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 903 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 958 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 1010 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 1078 | CODE | |
| LOW | server/polar/backoffice/customers/endpoints.py | 1148 | CODE | |
| LOW | server/polar/backoffice/tasks/forms.py | 40 | CODE | |
| LOW | server/polar/backoffice/tasks/forms.py | 70 | CODE | |
| LOW | server/polar/backoffice/tasks/endpoints.py | 21 | CODE | |
| LOW | server/polar/backoffice/tasks/endpoints.py | 62 | CODE | |
| LOW | server/polar/backoffice/products/endpoints.py | 34 | CODE | |
| 222 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/polar/tasks.py | 51 | __all__ = [ | CODE |
| LOW | server/polar/openapi.py | 134 | __all__ = [ | CODE |
| LOW | server/polar/logfire.py | 288 | __all__ = [ | CODE |
| LOW | server/polar/redis.py | 116 | __all__ = [ | CODE |
| LOW | server/polar/routing.py | 31 | __all__ = ["APIRouter"] | CODE |
| LOW | server/polar/postgres.py | 93 | __all__ = [ | CODE |
| LOW | server/polar/rate_limit.py | 344 | __all__ = [ | CODE |
| LOW | server/polar/sentry.py | 160 | def set_sentry_user(auth_subject: AuthSubject[Subject]) -> None: | CODE |
| LOW | server/polar/event_type/__init__.py | 3 | __all__ = ["EventTypeRepository"] | CODE |
| LOW | server/polar/metrics/metrics.py | 1006 | __all__ = [ | CODE |
| LOW | server/polar/metrics/cache.py | 89 | async def set_cached_metrics(redis: Redis, key: str, response: MetricsResponse) -> None: | CODE |
| LOW | server/polar/transaction/fees/stripe/__init__.py | 75 | __all__ = ["get_reverse_stripe_payout_fees", "get_stripe_account_fee", "round_stripe"] | CODE |
| LOW | server/polar/account_credit/__init__.py | 3 | __all__ = ["account_credit_service"] | CODE |
| LOW | server/polar/merchant_migration/pan_transfer.py | 437 | def _settle(step: PanTransferStep, actor: PanStepActor) -> None: | CODE |
| LOW | server/polar/merchant_migration/adapters/__init__.py | 4 | __all__ = ["PaginatedSourceAdapter", "SourceAdapter", "StripeAdapter"] | CODE |
| LOW | server/polar/auth/models.py | 165 | __all__ = [ | CODE |
| LOW | server/polar/auth/exception_handlers.py | 29 | __all__ = [ | CODE |
| LOW | server/polar/auth/routing.py | 88 | __all__ = ["DocumentedAuthSubjectAPIRoute"] | CODE |
| LOW | server/polar/member/__init__.py | 3 | __all__ = ["Member", "MemberCreate", "MemberOwnerCreate"] | CODE |
| LOW | server/polar/oauth2/exception_handlers.py | 18 | __all__ = ["OAuth2Error", "oauth2_error_exception_handler"] | CODE |
| LOW | server/polar/oauth2/userinfo.py | 29 | __all__ = ["UserInfo", "generate_user_info"] | CODE |
| LOW | server/polar/oauth2/exceptions.py | 45 | __all__ = ["InsufficientScopeError", "InvalidTokenError"] | CODE |
| LOW | server/polar/oauth2/grants/__init__.py | 29 | __all__ = ["AuthorizationCodeGrant", "CodeChallenge", "register_grants"] | CODE |
| LOW | server/polar/kit/cors.py | 78 | __all__ = ["CORSConfig", "CORSMatcherMiddleware", "Scope"] | CODE |
| LOW | server/polar/kit/routing.py | 219 | __all__ = [ | CODE |
| LOW | server/polar/kit/email.py | 87 | __all__ = [ | CODE |
| LOW | server/polar/kit/repository/__init__.py | 13 | __all__ = [ | CODE |
| LOW | server/polar/kit/extensions/sqlalchemy/__init__.py | 4 | __all__ = ["IntEnum", "StringEnum", "sql", "storage"] | CODE |
| LOW | server/polar/kit/extensions/sqlalchemy/sql.py | 8 | __all__ = [ | CODE |
| LOW | server/polar/kit/db/postgres.py | 129 | __all__ = [ | CODE |
| LOW | server/polar/kit/db/models/__init__.py | 3 | __all__ = ["IDModel", "Model", "RateLimitGroupMixin", "RecordModel", "TimestampedModel"] | CODE |
| LOW | server/polar/kit/db/models/base.py | 54 | def set_modified_at(self) -> None: | CODE |
| LOW | server/polar/kit/db/models/base.py | 57 | def set_deleted_at(self) -> None: | CODE |
| LOW | server/polar/tax/tax_id.py | 594 | __all__ = [ | CODE |
| LOW | server/polar/tax/calculation/__init__.py | 231 | __all__ = [ | CODE |
| LOW | server/polar/models/user.py | 160 | async def set_tokens(self, *, access_token: str, refresh_token: str | None) -> None: | CODE |
| LOW | server/polar/models/product_price.py | 548 | def set_identity(instance: ProductPrice, *arg: Any, **kw: Any) -> None: | CODE |
| LOW | server/polar/models/subscription.py | 616 | def update_net_amount_from(self, charge: "Order | Checkout") -> None: | CODE |
| LOW | server/polar/models/subscription.py | 635 | def update_meters(self, prices: Sequence["SubscriptionProductPrice"]) -> None: | CODE |
| LOW | server/polar/models/organization.py | 843 | def set_status(self, status: OrganizationStatus) -> None: | CODE |
| LOW | server/polar/models/order.py | 371 | def update_refunds(self, refunded_amount: int, refunded_tax_amount: int) -> None: | CODE |
| LOW | server/polar/models/__init__.py | 138 | __all__ = [ | CODE |
| LOW | server/polar/models/oauth2_client.py | 152 | async def set_client_secret(self, client_secret: str) -> None: | CODE |
| LOW | server/polar/models/oauth2_client.py | 174 | def set_client_secret_sync(self, client_secret: str) -> None: | CODE |
| LOW⚡ | server/polar/models/benefit_grant.py | 209 | def set_granted(self) -> None: | CODE |
| LOW⚡ | server/polar/models/benefit_grant.py | 214 | def set_revoked(self) -> None: | CODE |
| LOW⚡ | server/polar/models/benefit_grant.py | 219 | def set_grant_failed(self, error: Exception) -> None: | CODE |
| LOW | server/polar/models/product.py | 323 | def _set_new_product_deletable(target: Product, args: Any, kwargs: Any) -> None: | CODE |
| LOW | server/polar/backoffice/__init__.py | 80 | __all__ = ["app"] | CODE |
| LOW | server/polar/backoffice/routing.py | 5 | __all__ = ["BackofficeRouter"] | CODE |
| LOW | server/polar/backoffice/toast.py | 48 | __all__ = ["add_toast", "render_toasts"] | STRING |
| LOW | server/polar/backoffice/customers/__init__.py | 3 | __all__ = ["router"] | CODE |
| LOW | server/polar/backoffice/organizations_v2/endpoints.py | 5126 | __all__ = ["router"] | CODE |
| LOW | …r/polar/backoffice/organizations_v2/views/list_view.py | 939 | __all__ = ["MIN_SEARCH_LENGTH", "OrganizationListView"] | CODE |
| LOW | …polar/backoffice/organizations_v2/views/detail_view.py | 955 | __all__ = ["OrganizationDetailView"] | CODE |
| LOW | …ce/organizations_v2/views/sections/overview_section.py | 895 | __all__ = ["OverviewSection"] | CODE |
| LOW | …office/organizations_v2/views/sections/risk_signals.py | 216 | __all__ = [ | CODE |
| LOW | …ice/organizations_v2/views/sections/reviews_section.py | 222 | __all__ = ["ReviewsSection"] | CODE |
| LOW | …ce/organizations_v2/views/sections/settings_section.py | 507 | __all__ = ["SettingsSection"] | CODE |
| LOW | …rganizations_v2/views/sections/support_case_section.py | 773 | __all__ = ["SupportCaseSection"] | CODE |
| 113 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/polar/middlewares.py | 299 | except Exception as exc: | CODE |
| LOW | server/polar/organization/service.py | 839 | except Exception as e: | CODE |
| LOW | server/polar/organization/schemas.py | 380 | except Exception: | CODE |
| LOW | server/polar/webhook/tasks.py | 362 | except Exception as e: | CODE |
| LOW | server/polar/external_event/service.py | 73 | except Exception: | CODE |
| LOW | server/polar/order/service.py | 372 | except Exception: | CODE |
| LOW | server/polar/order/service.py | 1294 | except Exception: | CODE |
| LOW | server/polar/order/service.py | 2209 | except Exception as exc: | CODE |
| LOW | server/polar/order/service.py | 2421 | except Exception: | CODE |
| LOW | server/polar/order/service.py | 2864 | except Exception as e: | CODE |
| LOW | server/polar/order/service.py | 3135 | except Exception as e: | CODE |
| LOW | server/polar/transaction/service/dispute.py | 279 | except Exception as e: | CODE |
| LOW | server/polar/transaction/service/refund.py | 172 | except Exception as e: | CODE |
| LOW | server/polar/transaction/service/refund.py | 268 | except Exception as e: | CODE |
| LOW | server/polar/merchant_migration/service.py | 833 | except Exception as error: | CODE |
| LOW | server/polar/merchant_migration/cutover.py | 331 | except Exception as e: | CODE |
| LOW | server/polar/merchant_migration/cutover.py | 493 | except Exception: | CODE |
| LOW | server/polar/merchant_migration/cutover.py | 526 | except Exception: | CODE |
| LOW | server/polar/auth/routing.py | 26 | except Exception: | CODE |
| LOW | server/polar/kit/currency.py | 148 | except Exception: | CODE |
| LOW | …ver/polar/backoffice/organizations_v2/orders_import.py | 407 | except Exception: | CODE |
| LOW | server/polar/backoffice/organizations_v2/endpoints.py | 485 | except Exception: | CODE |
| LOW | server/polar/backoffice/organizations_v2/endpoints.py | 3044 | except Exception as e: | CODE |
| LOW | server/polar/backoffice/organizations_v2/endpoints.py | 4308 | except Exception as e: | CODE |
| LOW | server/polar/backoffice/organizations_v2/endpoints.py | 4347 | except Exception as e: | CODE |
| LOW | …ice/organizations_v2/views/sections/reviews_section.py | 138 | except Exception: | CODE |
| LOW | server/polar/backoffice/email_logs/endpoints.py | 166 | except Exception: | CODE |
| LOW | server/polar/backoffice/benefits/endpoints.py | 189 | except Exception: | CODE |
| LOW | server/polar/backoffice/orders/endpoints.py | 280 | except Exception: | CODE |
| LOW | server/polar/backoffice/orders/endpoints.py | 289 | except Exception: | CODE |
| LOW | server/polar/backoffice/orders/endpoints.py | 847 | except Exception as e: | CODE |
| LOW | server/polar/backoffice/orders/endpoints.py | 1016 | except Exception as e: | CODE |
| LOW | server/polar/backoffice/orders/endpoints.py | 1074 | except Exception as e: | CODE |
| LOW | server/polar/backoffice/orders/endpoints.py | 1138 | except Exception as e: | CODE |
| LOW | server/polar/observability/s3_span_exporter.py | 90 | except Exception: | CODE |
| LOW | server/polar/observability/memory_profile.py | 148 | except Exception as e: | CODE |
| LOW | server/polar/observability/remote_write.py | 196 | except Exception as e: | CODE |
| LOW | server/polar/observability/remote_write.py | 243 | except Exception as e: | CODE |
| LOW⚡ | server/polar/observability/slo.py | 109 | except Exception: | CODE |
| LOW | server/polar/observability/slo_report/tasks.py | 85 | except Exception as e: | CODE |
| LOW | server/polar/checkout/service.py | 1534 | except Exception as e: | CODE |
| LOW | server/polar/checkout/service.py | 1595 | except Exception as e: | CODE |
| LOW | server/polar/checkout/service.py | 1746 | except Exception as e: | CODE |
| LOW | server/polar/subscription/scheduler.py | 46 | except Exception as e: | CODE |
| LOW | server/polar/integrations/plain/service.py | 185 | except Exception: | STRING |
| LOW | server/polar/integrations/github/service/user.py | 32 | except Exception as e: | CODE |
| LOW | …olar/integrations/github_repository_benefit/service.py | 273 | except Exception as e: | CODE |
| LOW | server/polar/integrations/tinybird/service.py | 832 | except Exception as e: | CODE |
| LOW | server/polar/integrations/tinybird/service.py | 1492 | except Exception as e: | CODE |
| LOW | server/polar/integrations/tinybird/client.py | 85 | except Exception: | CODE |
| LOW | server/polar/integrations/resend/endpoints.py | 47 | except Exception: | CODE |
| LOW | server/polar/receipt/render.py | 40 | except Exception: | CODE |
| MEDIUM | server/polar/receipt/render.py | 37 | def main() -> int: | CODE |
| LOW | server/polar/support_case/pdf.py | 34 | except Exception: | CODE |
| LOW | server/polar/support_case/pdf.py | 43 | except Exception: | CODE |
| LOW | server/polar/organization_review/analyzer.py | 737 | except Exception as e: | CODE |
| LOW | server/polar/organization_review/policy.py | 57 | except Exception: | CODE |
| LOW | server/polar/organization_review/policy.py | 113 | except Exception as e: | CODE |
| LOW | server/polar/organization_review/agent.py | 112 | except Exception as e: | CODE |
| LOW | server/polar/organization_review/agent.py | 259 | except Exception as e: | CODE |
| 84 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | clients/adapters/nextjs/src/checkout/checkout.test.ts | 236 | street: '123 Main St', | CODE |
| LOW | clients/adapters/nextjs/src/checkout/checkout.test.ts | 247 | requestUrl.searchParams.set('customer_name', 'John Doe') | CODE |
| LOW | clients/adapters/nextjs/src/checkout/checkout.test.ts | 266 | customer_name: 'John Doe', | CODE |
| LOW | clients/adapters/nextjs/src/checkout/checkout.test.ts | 267 | customer_billing_address: { street: '123 Main St', city: 'NYC' }, | CODE |
| LOW | clients/adapters/better-auth/example/src/app/page.tsx | 35 | email: 'test@test.com', | CODE |
| LOW | …s/adapters/better-auth/src/__tests__/principal.test.ts | 24 | email: 'user@example.com', | CODE |
| LOW | …s/adapters/better-auth/src/__tests__/principal.test.ts | 347 | email: 'user@example.com', | CODE |
| LOW | …er-auth/src/__tests__/organization/integration.test.ts | 503 | email: 'admin@example.com', | CODE |
| LOW | …er-auth/src/__tests__/organization/integration.test.ts | 526 | email: 'admin@example.com', | CODE |
| LOW | …ers/better-auth/src/__tests__/plugins/checkout.test.ts | 261 | email: 'user@example.com', | CODE |
| LOW | …ters/adapter-utils/src/entitlement/entitlement.test.ts | 32 | email: 'test@test.com', | CODE |
| LOW | clients/apps/orbit/src/app/components/input/page.tsx | 79 | name: 'placeholder', | CODE |
| LOW | clients/apps/orbit/src/app/components/textarea/page.tsx | 75 | name: 'placeholder', | CODE |
| LOW | clients/apps/app/targets/widget/widgets.swift | 16 | return SimpleEntry(date: Date(), configuration: ConfigurationAppIntent(), metricValue: 425, metricValueDouble: n | CODE |
| LOW | clients/apps/app/targets/widget/widgets.swift | 872 | SimpleEntry(date: .now, configuration: config, metricValue: 425, metricValueDouble: nil, organizationName: "Acme Inc | CODE |
| LOW | …rc/components/Settings/OrganizationProfileSettings.tsx | 301 | placeholder="Acme Inc" | CODE |
| LOW | clients/apps/web/src/components/Landing/Pipeline.tsx | 128 | name="John Doe" | CODE |
| LOW | server/polar/member/schemas.py | 25 | _name_example = "Jane Doe" | CODE |
| LOW | server/polar/backoffice/organizations_v2/endpoints.py | 1555 | "placeholder": "Why are you denying this organization?", | CODE |
| LOW | server/polar/backoffice/organizations_v2/endpoints.py | 1723 | "placeholder": reason_placeholder, | CODE |
| LOW | server/polar/backoffice/organizations_v2/endpoints.py | 2265 | "placeholder": reason_placeholder, | CODE |
| LOW | …r/polar/backoffice/organizations_v2/views/list_view.py | 530 | "placeholder": ("Search organizations by name or slug..."), | CODE |
| LOW | server/polar/customer/schemas/customer.py | 58 | _name_example = "John Doe" | CODE |
| LOW | server/emails/src/preview.ts | 85 | billing_name: 'John Doe', | CODE |
| LOW | server/emails/src/preview.ts | 87 | line1: '123 Main Street', | CODE |
| LOW | server/emails/src/emails/webhook_endpoint_disabled.tsx | 60 | email: 'admin@example.com', | CODE |
| LOW | server/emails/src/emails/notification_new_trial.tsx | 43 | subscriber_name: 'John Doe', | CODE |
| LOW | server/emails/src/emails/notification_new_sale.tsx | 60 | billing_address_line1: '123 Main St', | CODE |
| LOW | …/src/emails/notification_subscription_cancellation.tsx | 76 | subscriber_name: 'John Doe', | CODE |
| LOW | …er/emails/src/emails/notification_new_subscription.tsx | 40 | subscriber_name: 'John Doe', | CODE |
| LOW | server/emails/src/emails/organization_offboarded.tsx | 42 | email: 'admin@example.com', | CODE |
| LOW | server/tests/organization/test_service.py | 1443 | reset_by="admin@example.com", | CODE |
| LOW | server/tests/organization/test_service.py | 1458 | assert "admin@example.com" in result.internal_notes | CODE |
| LOW | server/tests/organization/test_service.py | 1487 | reset_by="admin@example.com", | CODE |
| LOW | server/tests/organization/test_embed_hosts.py | 124 | "user@example.com", | CODE |
| LOW⚡ | server/tests/organization/test_schemas.py | 85 | "Acme Inc", | CODE |
| LOW | server/tests/order/test_service.py | 3111 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3306 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3329 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3351 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3387 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3409 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3432 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3456 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3478 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3510 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3537 | billing_name="John Doe", | CODE |
| LOW | server/tests/order/test_service.py | 3565 | billing_name="John Doe", | CODE |
| LOW | server/tests/merchant_migration/test_endpoints.py | 1378 | "line1": "123 Main Street", | CODE |
| LOW⚡ | server/tests/member/test_repository.py | 113 | save_fixture, organization=organization, email="user@example.com" | CODE |
| LOW⚡ | server/tests/member/test_repository.py | 118 | email="user@example.com", | CODE |
| LOW | …sts/customer_portal/endpoints/test_customer_session.py | 91 | save_fixture, organization=organization, email="user@example.com" | CODE |
| LOW | …sts/customer_portal/endpoints/test_customer_session.py | 349 | save_fixture, organization=organization, email="user@example.com" | CODE |
| LOW | …sts/customer_portal/endpoints/test_customer_session.py | 354 | email="user@example.com", | CODE |
| LOW | …tests/customer_portal/service/test_customer_session.py | 108 | save_fixture, organization=organization, email="user@example.com" | CODE |
| LOW | …tests/customer_portal/service/test_customer_session.py | 179 | save_fixture, organization=organization, email="user@example.com" | CODE |
| LOW | …tests/customer_portal/service/test_customer_session.py | 184 | email="user@example.com", | CODE |
| LOW⚡ | …er/tests/customer_portal/service/test_benefit_grant.py | 641 | properties={"invited_email": "admin@example.com"}, | CODE |
| LOW⚡ | …er/tests/customer_portal/service/test_benefit_grant.py | 647 | "invited_email": "admin@example.com", | CODE |
| LOW⚡ | …er/tests/customer_portal/service/test_benefit_grant.py | 693 | properties={"invited_email": "admin@example.com"}, | CODE |
| 104 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | server/polar/product/schemas.py | 498 | "The last tier must be unbounded (bound set to null), " | CODE |
| HIGH | server/polar/product/schemas.py | 833 | "If null, it defaults to the organization's default tax behavior." | CODE |
| HIGH | server/polar/checkout/repository.py | 10 | null, | CODE |
| HIGH | server/polar/compass/threads/service.py | 273 | # Non-list JSONB (hand-edited / null) fails validation too. | COMMENT |
| HIGH | server/polar/meter/filter.py | 82 | # Otherwise return false | COMMENT |
| HIGH | server/polar/meter/filter.py | 91 | # Otherwise return false | COMMENT |
| HIGH | server/polar/reducer_bucket/repository.py | 5 | from sqlalchemy import ColumnElement, Row, and_, func, literal, null, or_, select | CODE |
| HIGH | server/polar/customer/service.py | 757 | # value from this update payload (if explicitly provided and non-null), | COMMENT |
| HIGH | server/tests/dispute/test_service.py | 184 | # Stripe drops network_reason_code and evidence_details.due_by when null, | COMMENT |
| HIGH | server/scripts/snooze_stale_reviews.py | 144 | ELSE internal_notes || E'\\n\\n' || :note | CODE |
| HIGH | server/scripts/reset_unconfigured_grandfathered_orgs.py | 274 | ELSE internal_notes || E'\\n\\n' || :note | CODE |
| HIGH | sdk/python/polar/v2027_01/outputs.py | 6789 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2027_01/outputs.py | 6839 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2027_01/outputs.py | 9271 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2027_01/outputs.py | 9311 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2027_01/outputs.py | 9365 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2027_01/outputs.py | 9408 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2027_01/outputs.py | 9451 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2027_01/outputs.py | 9492 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_10/outputs.py | 6750 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_10/outputs.py | 6800 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_10/outputs.py | 9185 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_10/outputs.py | 9225 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_10/outputs.py | 9279 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_10/outputs.py | 9322 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_10/outputs.py | 9365 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_10/outputs.py | 9435 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_04/outputs.py | 6744 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_04/outputs.py | 6794 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_04/outputs.py | 9155 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_04/outputs.py | 9195 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_04/outputs.py | 9249 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_04/outputs.py | 9292 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_04/outputs.py | 9335 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/python/polar/v2026_04/outputs.py | 9405 | """The tax behavior of the price. If null, it defaults to the organization's default tax behavior.""" | STRING |
| HIGH | sdk/generator/typescript/types.py | 28 | return f"({inner} | null)" | CODE |
| HIGH⚡ | sdk/generator/tests/test_cli_commands.py | 654 | assert '\\"note\\": string | null,' in _flag(source, "prices") | CODE |
| HIGH | sdk/generator/generator/ir.py | 94 | Produced by the anyOf: [{...}, {type: null}] pattern that is dominant in | STRING |
| HIGH | dev/cli/shared.py | 240 | " [bold]sudo rm -rf /Library/Developer/CommandLineTools && xcode-select --install[/bold]" | CODE |
| HIGH | dev/cli/up_steps/02_setup_node.py | 137 | f" [dim]Try manually: source ~/.nvm/nvm.sh && nvm install {REQUIRED_NODE_MAJOR}," | CODE |
| HIGH | dev/cli/up_steps/02_setup_node.py | 147 | console.print("Run: [bold]source ~/.nvm/nvm.sh && nvm use[/bold]") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/interview-task/SKILL.md | 19 | ## Step 1: fork the Polar repository to a private GitHub repository dedicated to the candidate | COMMENT |
| LOW⚡ | .agents/skills/interview-task/SKILL.md | 33 | ## Step 2: create a branch for the PR | COMMENT |
| LOW⚡ | .agents/skills/interview-task/SKILL.md | 43 | ## Step 3: make changes to the codebase using LLM agent | COMMENT |
| LOW⚡ | .agents/skills/interview-task/SKILL.md | 47 | ## Step 4: create a pull request | COMMENT |
| LOW⚡ | .agents/skills/interview-task/SKILL.md | 55 | ## Step 5: add a comment to the PR asking the candidate to review it | COMMENT |
| LOW | .agents/skills/handbook-backend-development/SKILL.md | 14 | ## Step 1: Create the file | COMMENT |
| LOW | .agents/skills/handbook-backend-development/SKILL.md | 39 | ## Step 2: Explore and draft the content of the entry | COMMENT |
| LOW | .agents/skills/handbook-backend-development/SKILL.md | 43 | ## Step 3: Ask for feedback | COMMENT |
| LOW | .agents/skills/render-env/SKILL.md | 36 | ## Step 1: Add the tfe_variable to each global/{env}.tf | COMMENT |
| LOW | .agents/skills/render-env/SKILL.md | 54 | ## Step 2: Add the variable {} block to each {env}/variables.tf | COMMENT |
| LOW | .agents/skills/render-env/SKILL.md | 68 | ## Step 3: Format | COMMENT |
| LOW | .agents/skills/render-env/SKILL.md | 78 | ## Step 4: Hand off | COMMENT |
| LOW⚡ | .agents/skills/fix-sentry/SKILL.md | 16 | ## Step 1: Analyze the Sentry issue | COMMENT |
| LOW⚡ | .agents/skills/fix-sentry/SKILL.md | 20 | ## Step 2: correlate with Logfire logs | COMMENT |
| LOW⚡ | .agents/skills/fix-sentry/SKILL.md | 28 | ## Step 3: Search source code | COMMENT |
| LOW⚡ | .agents/skills/fix-sentry/SKILL.md | 32 | ### Step 4: Analyze findings | COMMENT |
| LOW⚡ | .agents/skills/fix-sentry/SKILL.md | 36 | ## Step 5: Implement a fix | COMMENT |
| LOW⚡ | .agents/skills/add-locale/SKILL.md | 19 | ## Step 1: Sync main | COMMENT |
| LOW⚡ | .agents/skills/add-locale/SKILL.md | 28 | ## Step 2: Create the branch | COMMENT |
| LOW⚡ | .agents/skills/add-locale/SKILL.md | 34 | ## Step 3: Register the locale | COMMENT |
| LOW | .agents/skills/add-locale/SKILL.md | 48 | ## Step 4: Generate the translation file | COMMENT |
| LOW | .agents/skills/add-locale/SKILL.md | 62 | ## Step 5: Wire the locale into the i18n entrypoint | COMMENT |
| LOW | .agents/skills/add-locale/SKILL.md | 80 | ## Step 6: Update the public docs | COMMENT |
| LOW | .agents/skills/add-locale/SKILL.md | 94 | ## Step 7: Hand back to the user | COMMENT |
| LOW⚡ | server/polar/integrations/plain/service.py | 1348 | # Step 1: Try read-only lookup by email (handles legacy customers) | COMMENT |
| LOW⚡ | server/polar/integrations/plain/service.py | 1357 | # Step 2: Not found by email - upsert with external_id as identifier | COMMENT |
| LOW⚡ | server/tests/customer_seat/test_service.py | 2474 | # Step 1: Assign a seat to the email (this creates a member) | COMMENT |
| LOW⚡ | server/tests/customer_seat/test_service.py | 2481 | # Step 2: Revoke the seat (this clears member_id, customer_id, email from seat) | COMMENT |
| LOW⚡ | server/tests/customer_seat/test_service.py | 2488 | # Step 3: Soft delete the member | COMMENT |
| LOW | server/tests/customer_seat/test_service.py | 2501 | # Step 4: Try to assign a new seat to the same email | COMMENT |
| LOW⚡ | server/scripts/tax_filing_imports.py | 234 | # Step 1: Count rows | COMMENT |
| LOW⚡ | server/scripts/tax_filing_imports.py | 240 | # Step 2: Load CSV | COMMENT |
| LOW⚡ | server/scripts/tax_filing_imports.py | 247 | # Step 3: Process batches | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/polar/organization/endpoints.py | 557 | # Check if user is already member of organization | COMMENT |
| LOW | server/polar/organization/endpoints.py | 634 | # Check if user is the only member | COMMENT |
| LOW | server/polar/member/service.py | 875 | # Check if caller has permission to transfer ownership | COMMENT |
| LOW | server/polar/oauth2/authorization_server.py | 110 | # Check if this is a public client (token_endpoint_auth_method = none) | COMMENT |
| LOW | server/polar/oauth2/authorization_server.py | 177 | # Check if this is a public client (token_endpoint_auth_method = none) | COMMENT |
| LOW | server/polar/oauth2/grants/authorization_code.py | 361 | # Check if the sub has granted the requested scope or a subset of it | COMMENT |
| LOW | server/polar/models/subscription.py | 646 | # Check if the meter already exists in the subscription | COMMENT |
| LOW | server/polar/backoffice/users/endpoints.py | 651 | # Check if user can be deleted | COMMENT |
| LOW | server/polar/backoffice/orders/endpoints.py | 813 | # Check if order can be refunded | COMMENT |
| LOW | server/polar/backoffice/orders/endpoints.py | 1002 | # Check if order can be voided | COMMENT |
| LOW | server/polar/cli/endpoints.py | 42 | # Check if this is a webhook event | COMMENT |
| LOW | server/polar/observability/utils.py | 16 | # Check if app is excluded (e.g., backoffice) | COMMENT |
| LOW⚡ | server/polar/observability/slo.py | 118 | # Check if p99 exceeds target for any critical endpoint: | STRING |
| LOW | server/polar/billing_entry/service.py | 238 | # Check if this meter uses a non-summable aggregation | COMMENT |
| LOW | server/polar/worker/_debounce.py | 81 | # Set TTL to avoid keys being stuck in Redis | STRING |
| LOW | server/polar/meter/service.py | 320 | # Check if meter is attached to any active metered price | COMMENT |
| LOW | server/polar/meter/service.py | 346 | # Check if meter is referenced by any active Benefits with meter_credit type | COMMENT |
| LOW | server/polar/refund/service.py | 331 | # Check if there are disputes to link | COMMENT |
| LOW | server/tests/order/test_service.py | 6160 | # Set organization to use customer-based invoice numbering | COMMENT |
| LOW | server/tests/member/test_service.py | 347 | # Set name to None after creation | COMMENT |
| LOW | …sts/customer_portal/endpoints/test_customer_session.py | 393 | # Set name to None | COMMENT |
| LOW | server/scripts/void_eligible_orders.py | 132 | # Check if order is still pending (might have changed since query) | COMMENT |
| LOW | …ver/scripts/transfer_products_between_organizations.py | 134 | # Check if all products belong to the same organization | COMMENT |
| LOW | …ver/scripts/transfer_products_between_organizations.py | 213 | # Check if customer has orders for non-transferring products | COMMENT |
| LOW | …ver/scripts/transfer_products_between_organizations.py | 228 | # Check if customer has subscriptions for non-transferring products | COMMENT |
| LOW | …ver/scripts/transfer_products_between_organizations.py | 348 | # Check if this discount is used by non-transferring products | COMMENT |
| LOW | …ver/scripts/transfer_products_between_organizations.py | 463 | # Check if a customer with the same email already exists in target organization | COMMENT |
| LOW | …ver/scripts/transfer_products_between_organizations.py | 608 | # Check if a customer with the same email already exists in target organization | COMMENT |
| LOW | server/scripts/backfill_missing_balance_order_event.py | 48 | # Check if either event already exists | COMMENT |
| LOW | dev/docker/scripts/startup.sh | 203 | # Check if any organizations exist to determine if seeds are needed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | vercel.toml | 101 | # The api bundle exceeds the classic Lambda caps; build it as a large | COMMENT |
| LOW | terraform/scripts/plan-diff.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | clients/packages/orbit/src/tokens/tokens.stylex.ts | 1 | // ─── Public Token Barrel ────────────────────────────────────────────────────── | COMMENT |
| LOW | clients/packages/orbit/src/tokens/value.stylex.ts | 1 | // ─── Value Tokens (Tier 1 — Primitives) ─────────────────────────────────────── | COMMENT |
| LOW | clients/apps/app/expo-env.d.ts | 1 | /// <reference types="expo/types" /> | COMMENT |
| LOW | …web/src/app/(main)/feedback/question/dashboardPaths.ts | 1 | // Allowed dashboard paths for assistant deep-links. Each entry is appended to | COMMENT |
| LOW | clients/apps/web/src/utils/planSavings.test.ts | 181 | it('returns variable + fixed savings minus monthly plan cost', () => { | COMMENT |
| LOW | infra/preview/deploy.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | infra/preview/setup-base-vm.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | server/alembic.ini | 1 | # A generic, single database configuration. | COMMENT |
| LOW | server/alembic.ini | 21 | # string value is passed to dateutil.tz.gettz() | COMMENT |
| LOW | server/alembic.ini | 41 | # The path separator used here should be the separator specified by "version_path_separator" below. | COMMENT |
| LOW | server/polar/organization/service.py | 141 | COMMENT | |
| LOW | server/polar/merchant_migration/canonical.py | 161 | # rows still skip until a re-precheck fills ``discount_source_ids``. | COMMENT |
| LOW | server/polar/merchant_migration/canonical.py | 181 | cancel_at_period_end: bool = False | COMMENT |
| LOW | server/polar/merchant_migration/canonical.py | 201 | # The source still has to collect its latest invoice, like a renewal it | COMMENT |
| LOW | server/polar/tax/repository.py | 41 | # Only US and Canada are reported at the state level; everywhere else is | COMMENT |
| LOW | server/polar/backoffice/middlewares.py | 61 | COMMENT | |
| LOW | server/polar/subscription/update.py | 241 | """Shared proration for a declared-quantity change (seats or units): one | COMMENT |
| LOW | server/polar/integrations/aws/s3/schemas.py | 141 | # S3 SHA-256 BASE64 validation for multipart upload is special. | COMMENT |
| LOW | server/polar/compass/service.py | 61 | COMMENT | |
| LOW | server/polar/authz/dependencies.py | 221 | # --------------------------------------------------------------------------- | COMMENT |
| LOW | server/polar/startup_program/service.py | 101 | # ``organization_id`` is intentionally omitted: ``POLAR_ACCESS_TOKEN`` | COMMENT |
| LOW | server/polar/invoice/generator.py | 541 | def set_font( | COMMENT |
| LOW | server/emails/tsconfig.json | 21 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React J | COMMENT |
| LOW | server/emails/tsconfig.json | 41 | // "rewriteRelativeImportExtensions": true, /* Rewrite '.ts', '.tsx', '.mts', and '.cts' file extensions in | COMMENT |
| LOW | server/emails/tsconfig.json | 61 | // "noEmit": true, /* Disable emitting files from a compilation. */ | COMMENT |
| LOW | server/emails/tsconfig.json | 81 | // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can | COMMENT |
| LOW | server/emails/tsconfig.json | 101 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly | COMMENT |
| LOW | server/tests/subscription/test_service_prorations.py | 61 | # not a subscription in Stripe. | COMMENT |
| LOW | server/tests/event/test_service.py | 2201 | source=EventSource.user, | COMMENT |
| LOW | server/tests/event/test_service.py | 2221 | # conjunction=FilterConjunction.and_, | COMMENT |
| LOW | server/tests/event/test_service.py | 2241 | # ) | COMMENT |
| LOW | server/scripts/seeds_load.py | 1821 | # "description": "Exclusive business templates", | COMMENT |
| LOW | .github/workflows/deploy.yml | 41 | # Why per-env: sandbox can be ahead of production (failed prod deploy | COMMENT |
| LOW | .github/workflows/deploy.yml | 81 | # would silently emit "key=" (empty value) instead of aborting. | COMMENT |
| LOW | .github/workflows/deploy-environment.yml | 101 | "${{ inputs.render-worker-service-ids }}" | COMMENT |
| LOW | .github/workflows/deploy-environment.yml | 161 | env: | COMMENT |
| LOW | dev/cli/cli.py | 1 | #!/usr/bin/env -S uv run -s | COMMENT |
| LOW | dev/cli/commands/snap.py | 81 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | clients/apps/web/src/utils/getResizedImage.ts | 27 | // in an SSR/email environment we do this for simplicity and to leverage caching. | COMMENT |
| MEDIUM | server/polar/organization_review/analyzer.py | 716 | # A product-change review is a comprehensive re-review of an | COMMENT |
| LOW | server/polar/event/service.py | 1043 | # events whose root_id was just set because an ancestor arrived in | COMMENT |
| MEDIUM | server/tests/metrics/test_tinybird_metrics.py | 1584 | # The harness commits shared seed data once for speed, so it can't use the | COMMENT |
| MEDIUM | server/tests/metrics/test_service.py | 2327 | # The harness commits shared seed data once for speed, so it can't use the | COMMENT |
| MEDIUM | server/tests/compass/test_endpoints.py | 44 | # harness doesn't provide. Every scenario here 4xxs before it is used, | COMMENT |
| MEDIUM | server/tests/payout/test_endpoints.py | 105 | # harness doesn't provide. The authz check raises before the | COMMENT |
| MEDIUM | dev/cli/commands/status.py | 1 | """Show comprehensive environment status.""" | STRING |
| MEDIUM | dev/cli/commands/status.py | 147 | """Show comprehensive environment status.""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | server/polar/integrations/plain/service.py | 1348 | # Step 1: Try read-only lookup by email (handles legacy customers) | COMMENT |
| LOW⚡ | server/polar/integrations/plain/service.py | 1357 | # Step 2: Not found by email - upsert with external_id as identifier | COMMENT |
| LOW⚡ | server/tests/customer_seat/test_service.py | 2474 | # Step 1: Assign a seat to the email (this creates a member) | COMMENT |
| LOW⚡ | server/tests/customer_seat/test_service.py | 2481 | # Step 2: Revoke the seat (this clears member_id, customer_id, email from seat) | COMMENT |
| LOW⚡ | server/tests/customer_seat/test_service.py | 2488 | # Step 3: Soft delete the member | COMMENT |
| LOW | server/tests/customer_seat/test_service.py | 2501 | # Step 4: Try to assign a new seat to the same email | COMMENT |
| LOW⚡ | server/scripts/tax_filing_imports.py | 234 | # Step 1: Count rows | COMMENT |
| LOW⚡ | server/scripts/tax_filing_imports.py | 240 | # Step 2: Load CSV | COMMENT |
| LOW⚡ | server/scripts/tax_filing_imports.py | 247 | # Step 3: Process batches | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | server/polar/customer/repository.py | 94 | customer_id = Customer.__table__.c.id.default.arg(None) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | server/polar/worker/_broker.py | 255 | # Group completion callbacks for orchestrating task sequences | COMMENT |
| MEDIUM | server/tests/order/test_service.py | 7617 | # here we only assert finalize's orchestration drives it with a paid | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | server/tests/merchant_migration/test_cutover.py | 174 | CODE | |
| MEDIUM | server/tests/cli/test_endpoints.py | 183 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | terraform/scripts/plan-diff.sh | 6 | # Usage: | COMMENT |
| LOW | infra/preview/deploy.sh | 8 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/polar/worker/_runner.py | 184 | async def run_task( | CODE |