{
  "service": "Creditcrest Decisioning",
  "version": "1.0.0",
  "what": "A lender’s own credit policy, versioned and replayable against the version that was in force on the day.",
  "not_advice": "Creditcrest Technologies is not a credit provider, is not a credit assistance provider, and does not hold an Australian credit licence. Its software produces evidence; the licensee makes the decision.",
  "this_is_an_example": "Every figure in this example is invented. There is no borrower, no bank statement and no lender: the transactions below were generated from the numbers in the form so that the policy engine has a statement to read, which is what it reads.",
  "nothing_is_kept": "There is no store behind any of these endpoints. An application lives in the query string and in the memory that serves one request.",
  "endpoints": {
    "GET /v1/decisioning/policy": {
      "what": "One of the example policies on this surface: every version, its dates, the hash of its rules, and every clause in it.",
      "query": {
        "policy": "which example policy: round-numbers, guideline-shaped — default round-numbers"
      }
    },
    "GET /v1/decisioning/replay": {
      "what": "One application run against the policy in force on the day it was assessed and against the policy in force today, with every rule outcome and the evidence behind it.",
      "query": {
        "income": "monthly pay credited to the account, dollars",
        "other": "monthly income of a kind that is not wages — rental, dividends, side work — dollars. Nothing by default, and a figure here adds a second income stream to the invented statement, which is what a policy with a separate line per kind of income is about",
        "rent": "monthly rent, dollars",
        "everyday": "monthly card spending on groceries, fuel and utilities, dollars",
        "gambling": "monthly spending with a wagering operator, dollars",
        "benchmark": "the lender’s own monthly expense benchmark for this household, dollars — supplied by the lender, because this repository holds no benchmark table",
        "declared": "what the applicant said they spend each month, dollars",
        "debt": "every debt the lender counts, including the loan applied for, dollars — one half of the debt-to-income ratio, which this software does not define",
        "gross": "gross annual income before tax, dollars a year — the other half, and not a figure a bank statement carries",
        "amount": "the amount applied for, dollars",
        "rate": "the annual rate offered before the assessment buffer, per cent",
        "years": "the term applied for, years",
        "on": "the day the application was assessed, YYYY-MM-DD — which decides which version it is replayed against",
        "policy": "which example policy to replay against: round-numbers, guideline-shaped — default round-numbers. It also changes the day the example defaults to being assessed on, because the two policies changed on different days"
      }
    },
    "GET /v1/decisioning/record": {
      "what": "The same application sealed into a record, verified, amended by appending, and edited so the verification fails.",
      "query": {
        "tamper": "which field to alter: surplus, debt-to-income, verdict, assessor, sealed-at, delete-evidence — default surplus",
        "policy": "which example policy the record was assessed under: round-numbers, guideline-shaped — default round-numbers"
      }
    }
  },
  "engines": {
    "decisioning": "src/decisioning.js",
    "record": "src/record.js"
  },
  "example_policies": [
    {
      "key": "round-numbers",
      "label": "Round numbers",
      "source": "models/policies/example-au.txt",
      "compiled": "models/policies/example-au.js",
      "for_whom": "Written to make the mechanism visible: a $300 surplus floor, a 45 per cent debt service ceiling, thresholds a reader can do in their head while watching the replay work.",
      "this_is_an_example": "models/policies/example-au.txt is an example. Its thresholds are round numbers chosen to make the mechanism visible. They are not advice, not a market standard and not anybody’s policy."
    },
    {
      "key": "guideline-shaped",
      "label": "In the shape of a published guideline",
      "source": "models/policies/example-guideline-au.txt",
      "compiled": "models/policies/example-guideline-au.js",
      "for_whom": "Written in the shape those documents have — a servicing buffer, a floor rate, a debt-to-income ceiling with a referral band under it, a minimum servicing surplus and the condition that waives it, and a separate line for each kind of income — so that somebody who reads credit guidelines for a living can see in one glance what a replay would do with theirs.",
      "this_is_an_example": "models/policies/example-guideline-au.txt is an example. It is a set of figures OF THE KIND Australian lenders publish, written to show the mechanism. It is not any lender’s policy, it names no lender, it reproduces nobody’s wording, and no lender has seen it, endorsed it, licensed it or is associated with it in any way."
    }
  ]
}