includes/modals/privacy_modal.php

<dialog class="modal">
    <div>
        <div class="privacy">
            <h2><?= h(t('privacy.title', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></h2>

            <section>
                <h3><?= h(t('privacy.database.title', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></h3>
                <table>
                    <tbody>
                        <tr>
                            <td><?= h(t('privacy.visited.today')) ?></td>
                            <td><?= h($visitorDbSnapshot['visited_today']) ?></td>
                        </tr>
                        <tr>
                            <td><?= h(t('privacy.already.visited.today')) ?></td>
                            <td><?= h($visitorDbSnapshot['already_visited_today']) ?></td>
                        </tr>
                        <tr>
                            <td><?= h(t('privacy.exact.visits.today')) ?></td>
                            <td><?= h($visitorDbSnapshot['exact_visits_today']) ?></td>
                        </tr>
                        <tr>
                            <td><?= h(t('privacy.ip.used.not.stored')) ?></td>
                            <td><?= h($visitorDbSnapshot['ip_preview']) ?></td>
                        </tr>
                        <tr>
                            <td><?= h(t('privacy.country.estimated')) ?></td>
                            <td>
                                <?php if ($visitorDbSnapshot['country'] === BRIVACIA_UNKNOWN): ?>
                                    <?= h(t('ui.unknown')) ?>
                                <?php else: ?>
                                    <span data-country="<?= h($visitorDbSnapshot['country']) ?>">
                                        <?= h($visitorDbSnapshot['country']) ?>
                                    </span>
                                <?php endif; ?>
                            </td>
                        </tr>
                        <tr>
                            <td><?= h(t('privacy.browser.details.stored')) ?></td>
                            <td><?= h($visitorDbSnapshot['raw_user_agent_stored']) ?></td>
                        </tr>
                        <tr>
                            <td><?= h(t('privacy.permanent.id.stored')) ?></td>
                            <td><?= h($visitorDbSnapshot['permanent_id_stored']) ?></td>
                        </tr>
                        <tr>
                            <td><?= h(t('privacy.visitor.profile.stored')) ?></td>
                            <td><?= h($visitorDbSnapshot['visitor_profile_stored']) ?></td>
                        </tr>
                    </tbody>
                </table>
            </section>

            <section>
                <h3><?= h(t('privacy.runtime.title')) ?></h3>
                <table>
                    <tbody>
                        <tr>
                            <td><?= h(t('privacy.browser.language')) ?></td>
                            <td data-browser-language><?= h(t('privacy.local.reading')) ?></td>
                        </tr><?php if ($visitorGeoProvider === 'blurloc'): ?>
                        <tr>
                            <td><?= h(t('privacy.vpn.probable')) ?></td>
                            <td><?= h(geoVpnLabel($visitorVpn)) ?></td>
                        </tr><?php endif; ?>
                    </tbody>
                </table>
            </section>

            <section>
                <h3><?= h(t('privacy.explanation.title')) ?></h3>

                <p><?= h(t('privacy.explanation.intro', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></p>

                <ul>
                    <li><?= h(t('privacy.explanation.ip')) ?></li>
                    <li><?= h(t('privacy.explanation.browser')) ?></li>
                    <li><?= h(t('privacy.explanation.pageviews')) ?></li>
                    <li><?= h(t('privacy.explanation.new.visitor')) ?></li>
                </ul>

                <p><?= h(t('privacy.explanation.anonymous', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></p>

                <p><?= h(t('privacy.explanation.pages', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></p>

                <p><?= h(t('privacy.explanation.brivacia', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></p>

                <p>
                    <?= h(t('privacy.ip.check.before')) ?>
                    <?= externalLink('https://ip.me/', 'ip.me') ?>.
                    <?= h(t('privacy.ip.check.after')) ?>
                </p><?php if ($visitorGeoProvider === 'blurloc'): ?>
                <p>
                    <?= h(t('privacy.blurloc.before')) ?>
                    <?= externalLink('https://blurloc.com/', 'BlurLoc') ?>.
                    <?= h(t('privacy.blurloc.after')) ?>
                </p><?php elseif ($visitorGeoProvider === 'cloudflare'): ?>
                <p><?= h(t('privacy.cloudflare')) ?></p><?php endif; ?>
            </section>
        </div>
    </div>
</dialog>