Skip to content
wiki.fftac.org

Legal Pages - Source Excerpt 03

Back to Legal Pages

Summary

This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/inc/legal-pages.php so readers can inspect the evidence without opening the full source file.

**Source path:** Spiralist/wp-content/themes/spiralist/inc/legal-pages.php

<h2>Participant Keys and Credentials</h2>
<ul>
<li>Only provide participant keys or workbench secrets that you are authorized to use.</li>
<li>Depending on the feature, credentials may be stored server-side in your account or only in local browser or device storage that you control.</li>
<li>You are responsible for safeguarding your own keys and workbench secrets.</li>
</ul>

<h2>Output Quality and Human Review</h2>
<ul>
<li>Prompt packets and external outputs created from copied prompts may be incomplete, mistaken, biased, inconsistent, or unsafe for certain uses.</li>
<li>You are responsible for reviewing outputs and generated art before relying on them, sharing them, or acting on them.</li>
<li>High-stakes professional, legal, medical, financial, or safety use requires independent review and should not rely on the service alone.</li>
</ul>

<h2>Prompt Inputs and Conversation Content</h2>
<ul>
<li>Do not submit information you are not authorized to store, share, publish, or transform into a prompt/art packet.</li>
<li>Do not submit personal, confidential, or regulated data unless you are clearly authorized and the workspace context is appropriate for that use.</li>
<li>Prompt-packet renders, local size estimates, and conversation activity may be logged, rate-limited, audited, and moderated to operate the service securely.</li>
<li>Public prompt-packet rendering, if enabled for specific prompts, may still be limited, logged, or disabled at any time.</li>
<li>UAIX-compatible memory or persona packets are user-visible text or JSON artifacts for selected context, preferences, source labels, and summaries. They do not transfer hidden model state.</li>
</ul>

<h2>Automation Restrictions</h2>
<p>Automation is allowed only within the bounds of site permissions, safety controls, and applicable law. Abusive or evasive automation is prohibited.</p>
HTML,
        ],
        'content' => [
            'slug' => 'content-and-sharing-policy',
            'title' => 'Content and Sharing Policy',
            'excerpt' => 'Rules for ownership, publication, sharing, forking, moderation, and use of prompts and related content on Spiralist.org.',
            'content' => <<<'HTML'
<h2>Ownership and Responsibility</h2>
<ul>
<li>You are responsible for the prompts, scripts, comments, attachments, and other materials you submit.</li>
<li>You must have the rights needed to upload, run, share, publish, and fork the material you place on the site.</li>
</ul>

<h2>Visibility and Sharing</h2>
<ul>
<li>Private content should be used only for content you are authorized to store and process here.</li>
<li>Member-only and specific-user sharing should be used only when the intended audience and permissions are correct.</li>
<li>Public prompts may be viewed, indexed, cited, or forked if the prompt settings allow it.</li>
<li>Approved or public-facing contributions may be cached, copied, cited, or indexed by other people, services, or search systems.</li>
</ul>

<h2>Forking and Reuse</h2>
<ul>
<li>If a prompt is marked forkable, members may copy it into their own workspace and create derivative versions.</li>
<li>Forking does not transfer ownership of the original prompt.</li>
</ul>

<h2>Moderation</h2>
<p>Spiralist.org may edit metadata, restrict visibility, unpublish, or remove content that violates the site’s rules, infringes rights, or creates operational or safety risk.</p>
HTML,
        ],
        'copyright' => [
            'slug' => 'copyright-and-dmca-policy',
            'title' => 'Copyright and DMCA Policy',
            'excerpt' => 'How Spiralist.org handles copyright concerns, takedown requests, and repeat infringement.',
            'content' => <<<'HTML'
<h2>Respect for Copyright</h2>
<p>Do not upload, publish, or share material that infringes another person’s copyright, trademark, or other protected rights.</p>

<h2>Takedown Requests</h2>
<ul>
<li>If you believe content on Spiralist.org infringes your rights, provide a clear notice identifying the material, the rights claimed, and the basis for the request.</li>
<li>Send copyright notices and counter-requests to {{LEGAL_CONTACT_LINK}} unless the site later designates a different contact path.</li>
<li>Spiralist.org may remove or disable access to challenged material while a claim is reviewed.</li>
</ul>

<h2>Repeat Infringement</h2>
<p>Accounts associated with repeated or serious infringement may lose access to publishing, sharing, or site participation features.</p>

<h2>Counter-Requests</h2>
<p>If material was removed in error, the affected participant may provide a counter-request with sufficient detail for review, subject to applicable law and site policy.</p>
HTML,
        ],
        'disclaimer' => [
            'slug' => 'disclaimer',
            'title' => 'Disclaimer',
            'excerpt' => 'Important limitations and no-warranty notices for Spiralist.org, its content, and its prompt/art packet features.',
            'content' => <<<'HTML'
<h2>Informational and Experimental Service</h2>
<p>Spiralist.org is provided as an informational, creative, and operational service. Content and features may evolve, change, or become unavailable.</p>

<h2>No Professional Advice</h2>
<p>Nothing on the site, including prompt outputs, conversations, symbolic materials, or public prompt manuscripts, should be treated as legal, medical, financial, therapeutic, or other professional advice.</p>

<h2>No Warranty</h2>
<p>To the extent permitted by applicable law, the site and its content are provided on an “as is” and “as available” basis without guarantees of accuracy, availability, completeness, merchantability, or fitness for a particular purpose.</p>

<h2>Third-Party Services</h2>
<p>Some linked, embedded, hosting, or payment features may depend on third-party infrastructure. Spiralist.org is not responsible for third-party downtime, policy changes, or output quality from tools you use after copying prompts elsewhere.</p>
HTML,
        ],
    ];
}

function spiralist_get_legal_page_meta_key(string $suffix): string
{
    return '_spiralist_legal_' . sanitize_key($suffix);
}

/**
 * @return array<string, string>
 */
function spiralist_get_legal_page_tokens(): array
{
    $email = sanitize_email((string) get_option('admin_email', ''));
    if ($email === '') {
        return [
            '{{LEGAL_CONTACT_LINK}}' => 'the site operator',
        ];
    }

    $display = function_exists('antispambot') ? antispambot($email) : $email;
    $href = function_exists('antispambot') ? antispambot($email) : $email;

    return [
        '{{LEGAL_CONTACT_LINK}}' => '<a href="mailto:' . esc_attr($href) . '">' . esc_html($display) . '</a>',
    ];
}

function spiralist_resolve_legal_page_text(string $content): string
{
    return strtr($content, spiralist_get_legal_page_tokens());
}

/**
 * @param array<string, mixed> $definition
 * @return array{title:string,excerpt:string,content:string}
 */
function spiralist_get_resolved_legal_page_definition(array $definition): array
{
    return [
        'title' => spiralist_resolve_legal_page_text((string) ($definition['title'] ?? '')),
        'excerpt' => spiralist_resolve_legal_page_text((string) ($definition['excerpt'] ?? '')),
        'content' => spiralist_resolve_legal_page_text((string) ($definition['content'] ?? '')),
    ];
}

/**
 * @param array<string, string> $resolved
 * @return array{title:string,excerpt:string,content:string}
 */
function spiralist_get_legal_page_hashes(array $resolved): array
{
    return [
        'title' => md5((string) ($resolved['title'] ?? '')),
        'excerpt' => md5((string) ($resolved['excerpt'] ?? '')),
        'content' => md5((string) ($resolved['content'] ?? '')),
    ];
}

/**
 * @return array<string, array<string, string[]>>
 */
function spiralist_get_legacy_legal_page_hashes(): array
{
    return [
        'terms' => [
            'excerpt' => ['9708f379547a6010c3b3a9fbb91e4f6b'],
            'content' => ['d164f64abcfd37e1930c64da82f3e198'],
        ],
        'privacy' => [
            'excerpt' => ['f618814c37d60c11388bca67141131a7'],
            'content' => ['242c32f6fabb5e1cb0b98ac4add879b5'],
        ],
        'rules' => [
            'excerpt' => ['2094a2736e9d3682cdc2a5cdedf2ca05'],
            'content' => ['1f9e8b21589e6330ef6e11f466dab88b'],
        ],
        'acceptable_use' => [
            'excerpt' => ['27aeff410e304d13d08f062ac74d751d'],
            'content' => ['6576c726eee8a876f6f95419b0c7af6f'],
        ],
        'cookies' => [
            'excerpt' => ['4f6410a552ba813765a0c2d318111c87'],
            'content' => ['05f1aca153ec9ad44114a6a36c4fcc72'],
        ],
        'ai_policy' => [
            'excerpt' => ['7b25ddb2b63c113804a66a786a34da6a'],