{% extends "base.html" %} {% block title %}LASSO — Profile: {{ profile.name }}{% endblock %} {% block breadcrumb %}
  • {% endblock %} {% block content %}

    {{ profile.name }}

    {% if profile.name in ('evaluation', 'strict', 'data-room') %} Strict {% elif profile.name == 'prototyping' %} Flexible {% elif profile.name == 'daily' %} Standard {% else %} {{ source }} {% endif %} {% if source == 'saved' %} Edit {% elif source == 'builtin' %} Duplicate & Edit {% endif %}
    {% if profile.description %}

    {{ profile.description }}

    {% endif %}
    Commands
    {% if profile_data.commands.mode == 'whitelist' %} {{ profile_data.commands.whitelist | length }} allowed {% elif profile_data.commands.mode == 'blacklist' %} {{ profile_data.commands.blacklist | length }} blocked {% endif %}
    Network
    {% if profile_data.network.mode == 'none' %}Offline{% elif profile_data.network.mode == 'restricted' %}Limited{% else %}Open{% endif %}
    Memory
    {{ profile_data.resources.max_memory_mb }} MB
    Mode
    {{ profile_data.commands.mode }}

    What the AI can do

    {% if profile_data.commands.mode == 'whitelist' %} Allowed commands ({{ profile_data.commands.whitelist | length }}) {% else %} All commands except those on the blocked list {% endif %}
    {% if profile_data.commands.mode == 'whitelist' %}
    {% for cmd in profile_data.commands.whitelist | sort %} {{ cmd }} {% endfor %}
    {% else %}

    Blocklist mode: any command not explicitly blocked is permitted.

    {% endif %}
    {% if profile_data.commands.allow_shell_operators %}
    Shell operators

    Pipes (|), chaining (&&), and redirects (>) are allowed.

    {% endif %} {% if profile_data.network.mode != 'none' %}
    Network access
    {% if profile_data.network.mode == 'restricted' and profile_data.network.allowed_domains %} {% elif profile_data.network.mode == 'full' %}

    Unrestricted internet access.

    {% endif %}
    {% endif %}
    Filesystem

    Read/write in {{ profile_data.filesystem.working_dir }} {% if profile_data.commands.max_execution_seconds %} — max {{ profile_data.commands.max_execution_seconds }}s per command {% endif %}

    What the AI cannot do

    Blocked commands
    {% if profile_data.commands.mode == 'whitelist' %}

    Everything not in the allowed list above is blocked.

    {% elif profile_data.commands.mode == 'blacklist' and profile_data.commands.blacklist %}
    {% for cmd in profile_data.commands.blacklist | sort %} {{ cmd }} {% endfor %}
    {% else %}

    No specific commands are blocked.

    {% endif %}
    {% if profile_data.commands.blocked_args %}
    Blocked argument patterns
    {% for cmd, patterns in profile_data.commands.blocked_args.items() %}
    {{ cmd }} {% for pattern in patterns %} {{ pattern }} {% endfor %}
    {% endfor %}
    {% endif %}
    Network
    {% if profile_data.network.mode == 'none' %}

    No network access at all (fully isolated).

    {% elif profile_data.network.mode == 'restricted' %}

    All domains not in the allowed list are blocked. Private networks and databases are unreachable.

    {% endif %} {% if profile_data.network.blocked_cidrs %} {% endif %}
    Filesystem
    {% if profile_data.filesystem.read_only_paths %}

    System paths are read-only:

    {% endif %} {% if profile_data.filesystem.hidden_paths %}

    Hidden from the sandbox:

    {% endif %} {% if not profile_data.filesystem.read_only_paths and not profile_data.filesystem.hidden_paths %}

    Default filesystem restrictions apply.

    {% endif %}
    {% if not profile_data.commands.allow_shell_operators %}
    Shell operators

    Pipes, chaining, and redirects are blocked.

    {% endif %}
    Audit Activity logging: {% if profile_data.audit.enabled %}ON{% else %}OFF{% endif %} — Tamper-proof signatures: {% if profile_data.audit.sign_entries %}ON{% else %}OFF{% endif %}
    Activity recording
    {% if profile_data.audit.enabled %} Enabled {% else %} Disabled {% endif %}
    Tamper-proof signatures
    {% if profile_data.audit.sign_entries %} Enabled {% else %} Disabled {% endif %}
    Record command output
    {{ "Yes" if profile_data.audit.include_command_output else "No" }}
    Record file changes
    {{ "Yes" if profile_data.audit.include_file_diffs else "No" }}
    Log format
    {{ profile_data.audit.log_format }}
    Max log size
    {{ profile_data.audit.max_log_size_mb }}MB
    {% endblock %}