<?php

namespace GriffinForms\Admin\Language;

class Compliance extends \GriffinForms\Admin\Language\Settings
{
    protected static $instance;

    public static function getInstance()
    {
        if (self::$instance == null)
        {
            self::$instance = new Compliance();
        }

        return self::$instance;
    }

    private function __construct()
    {
    }

    protected function complianceDefaultProfileLabel()
    {
        return __('Default compliance profile', 'griffinforms-form-builder');
    }

    protected function complianceDefaultProfileDescription()
    {
        return __('Sets the default compliance profile for new forms. You can override this per form.', 'griffinforms-form-builder');
    }

    protected function hipaaReadyDisclaimer()
    {
        return __('HIPAA‑ready config provides stricter audit/retention defaults and reminders. You are responsible for HIPAA compliance, BAAs, and operational controls.', 'griffinforms-form-builder');
    }

    protected function complianceDefaultsEnabledLabel()
    {
        return __('Enable compliance defaults', 'griffinforms-form-builder');
    }

    protected function complianceDefaultsEnabledDescription()
    {
        return __('When enabled, the default compliance profile and flags apply to newly created forms.', 'griffinforms-form-builder');
    }

    protected function complianceDefaultStoreIpLabel()
    {
        return __('Store IP address by default', 'griffinforms-form-builder');
    }

    protected function complianceDefaultStoreIpDescription()
    {
        return __('If enabled, new forms default to storing the submitter IP for compliance auditing.', 'griffinforms-form-builder');
    }

    protected function complianceDefaultStoreUserAgentLabel()
    {
        return __('Store user agent by default', 'griffinforms-form-builder');
    }

    protected function complianceDefaultStoreUserAgentDescription()
    {
        return __('If enabled, new forms default to storing the submitter user agent for compliance auditing.', 'griffinforms-form-builder');
    }

    protected function complianceDefaultRetentionDaysLabel()
    {
        return __('Default retention (days)', 'griffinforms-form-builder');
    }

    protected function complianceDefaultRetentionDaysDescription()
    {
        return __('Optional default retention period for compliance data. Leave blank or 0 to defer to per‑form settings.', 'griffinforms-form-builder');
    }

    protected function complianceShowIpNoticeLabel()
    {
        return __('Show IP capture notice (frontend)', 'griffinforms-form-builder');
    }

    protected function complianceShowIpNoticeDescription()
    {
        return __('When enabled, forms show a notice that IP address data may be recorded. Visible only for HIPAA‑ready defaults.', 'griffinforms-form-builder');
    }

    protected function complianceTrustProxyHeadersLabel()
    {
        return __('Trust proxy/IP headers', 'griffinforms-form-builder');
    }

    protected function complianceTrustProxyHeadersDescription()
    {
        return __('Uses forwarded IP headers (e.g. X‑Forwarded‑For) when available. Keep disabled unless your reverse proxy is configured to send trusted IP headers.', 'griffinforms-form-builder');
    }

    protected function standard()
    {
        return __('Standard', 'griffinforms-form-builder');
    }

    protected function gdpr()
    {
        return __('GDPR (privacy‑first)', 'griffinforms-form-builder');
    }

    protected function hipaa()
    {
        return __('HIPAA‑ready', 'griffinforms-form-builder');
    }
}
