StripeInspector Inspection

Generated: {{ generated_at }} | Version: {{ version }}
{% set is_live = result.is_live %}
{{ 'RESTRICTED ' if result.is_restricted else '' }}{{ 'LIVE KEY' if is_live else 'TEST KEY' }} — {{ result.masked_key }}
{% set perms = result.permissions or {} %}
{{ perms.values()|select('equalto', 'allowed')|list|length }} allowed | {{ perms.values()|select('equalto', 'denied')|list|length }} denied | {{ perms.values()|select('equalto', 'error')|list|length }} errors {% if result.duration_seconds %} | Scan completed in {{ result.duration_seconds }}s{% endif %}
{% for name, mod in (result.modules or {}).items() %}
{{ name }}
{% if mod.success %} {% set data = mod.data %} {% if name == 'account' %} {% for key, val in data.items() if val is not none %} {% if val is mapping %} {% elif val is iterable and val is not string %} {% else %} {% endif %} {% endfor %}
{{ key }}{% for k2, v2 in val.items() if v2 %}{{ k2 }}: {{ v2 }}{% if not loop.last %}, {% endif %}{% endfor %}
{{ key }}{{ val|join(', ') }}
{{ key }}{{ val }}
{% elif name == 'balance' %} {% for item in data.get('available', []) %} {% endfor %} {% for item in data.get('pending', []) %} {% endfor %}
TypeAmountCurrency
Available{{ "%.2f"|format(item.amount) }}{{ item.currency|upper }}
Pending{{ "%.2f"|format(item.amount) }}{{ item.currency|upper }}
{% elif name == 'permission_scan' %} {% for ep in data.get('allowed', []) %} {% endfor %} {% for ep in data.get('denied', []) %} {% endfor %}
StatusEndpoint
OK{{ ep }}
NO{{ ep }}
{% else %} {% set list_keys = ['customers','charges','intents','products','payouts','subscriptions','invoices','endpoints','events','accounts','disputes','refunds','transactions','coupons'] %} {% set ns = namespace(found=false) %} {% for lk in list_keys %} {% if data[lk] is defined and data[lk] is iterable and data[lk] is not string and not ns.found %} {% set ns.found = true %} {% set items = data[lk] %}
{{ data.get('count', items|length) }}{{ '+' if data.get('has_more') else '' }} found
{% if items|length > 0 %} {% set skip_cols = ['metadata', 'source', 'destination', 'description', 'hosted_invoice_url', 'payment_method_types', 'receipt_email', 'statement_descriptor', 'card_country', 'is_charge_refundable', 'cancel_at_period_end'] %} {% set cols = [] %} {% for k in items[0].keys() if k not in skip_cols and not k.endswith('_formatted') %}{% if cols|length < 7 %}{% if cols.append(k) %}{% endif %}{% endif %}{% endfor %} {% for c in cols %}{% endfor %} {% for item in items[:20] %} {% for c in cols %} {% set val = item[c + '_formatted'] if item[c + '_formatted'] is defined else (item[c] if item[c] is not none else '') %} {% set val_str = val|string %} {% endfor %} {% endfor %}
{{ c }}
{{ val_str[:24] }}{{ '...' if val_str|length > 24 else '' }}
{% endif %} {% endif %} {% endfor %} {% endif %} {% else %}
{{ mod.error or 'Permission denied' }}
{% endif %}
{% endfor %} {% set pii = result.pii or {} %} {% if pii.get('total_pii_items', 0) > 0 %}
PII Exposure Summary
{% for label, key in [('Emails', 'emails'), ('Names', 'names'), ('Phones', 'phones'), ('Cards', 'cards'), ('Countries', 'countries')] %} {% set items = pii.get(key, []) %} {% if items %} {% endif %} {% endfor %}
{{ label }} ({{ items|length }}){{ items[:8]|join(', ') }}{% if items|length > 8 %} (+{{ items|length - 8 }} more){% endif %}
{% endif %}