NAME
    Software::Security::Policy - packages that provide templated Security
    Policys

VERSION
    version 0.04

SYNOPSIS
      use strict;
      use warnings;

      use Software::Security::Policy::Individual;

      my $policy = Software::Security::Policy::Individual->new({
        maintainer  => 'Timothy Legge <timlegge@gmail.com>',
        program     => 'Software::Security::Policy',
        timeframe   => '7 days',
        url         => 'https://github.com/CPAN-Security/Software-Security-Policy/blob/main/SECURITY.md',
        support_years   => '10',
      });

      print $policy->fulltext, "\n";

METHODS
    new
          my $policy = $subclass->new(\%arg);

        This method returns a new security policy object for the given
        security policy class. Valid arguments are:

  ATTRIBUTES
    maintainer
        the current maintainer for the distibrution; required

    timeframe
        the time to expect acknowledgement of a security issue. Should
        include the units such as '5 days or 2 weeks'; defaults to 5 days

    timeframe_quantity
        the amount of time to expect an acknowledgement of a security issue.
        Only used if timeframe is undefined and timeframe_units is defined
        (eg. '5')

    timeframe_units
        the units of time to expect an acknowledgement of a security issue.
        Only used if timeframe is undefined and timeframe_quantity is
        defined (eg. 'days')

    url a url where the most current security policy can be found.

    git_url
        a git url where the most current security policy can be found.

    support_years
        the number of years for which past major versions of Perl would be
        supported

    program
        the name of software for use in the middle of a sentence

    Program
        the name of software for use in the beginning of a sentence

        "program" and "Program" arguments may be specified both, either one
        or none. Each argument, if not specified, is defaulted to another
        one, or to properly capitalized "this program", if both arguments
        are omitted.

  support_years
    Get the number of years of support to be expected

  timeframe
    Get the expected response time. Defaults to 5 days and uses
    timeframe_quantity and timeframe_units if the timeframe attribute us
    undefined.

  maintainer
    Get the maintainer that should be contacted for security issues.

  url
    Get the URL of the latest security policy version.

    These methods are attribute readers.

  program
    Name of software for using in the middle of a sentence.

    The method returns value of "program" constructor argument (if it
    evaluates as true, i. e. defined, non-empty, non-zero), or value of
    "Program" constructor argument (if it is true), or "this program" as the
    last resort.

  Program
    Name of software for using at the beginning of a sentence.

    The method returns value of "Program" constructor argument (if it is
    true), or value of "program" constructor argument (if it is true), or
    "This program" as the last resort.

  name
    This method returns the name of the policy, suitable for shoving in the
    middle of a sentence, generally with a leading capitalized "The."

  url
    This method returns the URL at which a canonical text of the security
    policy can be found, if one is available. If possible, this will point
    at plain text, but it may point to an HTML resource.

  git_url
    This method returns the git URL at which a canonical text of the
    security policy can be found, if one is available. If possible, this
    will point at plain text, but it may point to an HTML resource.

  summary
    This method returns a snippet of text, usually a few lines, indicating
    the maintainer as well as an indication of the policy under which the
    software is maintained.

  security_policy
    This method returns the full text of the policy.

  fulltext
    This method returns the complete text of the policy.

  version
    This method returns the version of the policy. If the security policy is
    not versioned, this method will return false.

SEE ALSO
    The specific policy:

    Extra policys are maintained on CPAN in separate modules.

COPYRIGHT
    This software is copyright (c) 2024-2025 by Timothy Legge
    <timlegge@gmail.com>.

    This module is based extensively on Software::License. Only the changes
    required for this module are attributable to the author of this module.
    All other code is attributable to the author of Software::License.

AUTHOR
    Timothy Legge <timlegge@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2025 by Timothy Legge
    <timlegge@gmail.com>.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

