# Mas Marketing Self Audit Pro

> Full MAS (Singapore) marketing self-audit for cryptoasset and Digital Payment Token (DPT) services. Invoke when you submit a marketing asset (banner, ad, landing page, email, X post, video script, whitepaper excerpt, KOL contract, press release, MRT/bus creative, app store listing) that may reach Singapore consumers, for the full 37-rule audit. Returns verdict + per-rule analysis + rewrite suggestions. Authored by an ex-CMO of two international crypto exchanges; reflects the Payment Services Act 2019, MAS Guidelines on the Provision of DPT Services to the Public (2022, updated 2023/2024), PSN02, PSN13, the SFA where token = capital markets product, and operator-grade interpretive notes.

- Skill: `jukkablomberg/mas-marketing-self-audit-pro` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jukkablomberg/mas-marketing-self-audit-pro`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jukkablomberg/mas-marketing-self-audit-pro/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- License: MIT
- Author: jukkablomberg (https://skillmd.com/u/jukkablomberg)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jukkablomberg/mas-marketing-self-audit-pro

---


# MAS Marketing Self-Audit Pro — 37 Rules

This is the engine that powers the full audit behind `northpoint.fi/check/mas`. The public version checks ~10 rules. This skill checks all 37, with operator-grade interpretive notes that the public version doesn't include.

Singapore is the strictest major retail-crypto jurisdiction in the world. MAS does not ban DPT services — it bans the *marketing* of DPT services to the Singapore retail public. That asymmetry is the source of most rule-set surprises. If you're used to MiCA, FCA, or SEC frames, read the disposition section first; this regime is structurally different.

---

## How to invoke this skill

You submit a marketing asset (text, URL, PDF excerpt, image, video script) plus optional metadata: asset type, intended jurisdiction(s), whether Singapore is in or out of scope, the token's classification (DPT / e-money / capital markets product / regulated stablecoin / unregulated stablecoin), and whether the entity holds an MAS licence (Major Payment Institution / Standard Payment Institution / CMS / exempt).

The model applies all 37 rules in order, classifies each as PASS / FLAG / FAIL, summarises the per-rule findings, and produces:

1. **Verdict line** — `X FAIL · Y FLAG · Z PASS · {ALL CLEAR | ATTENTION | DO NOT SHIP}`
2. **Per-rule analysis** — for each FAIL/FLAG: the specific text matched, the rule citation, the suggested rewrite
3. **Stamped read** (if Jukka is in the loop) — 1–3 sentences of judgment beyond the rule engine
4. **Audit-history row** — JSON object suitable for writing to the customer's Notion Audit History database

If asset is too short to reasonably audit (<50 words and not a banner): note that and ask for more context.

---

## System-prompt instructions

When invoked, the model takes the role of a senior crypto-marketing operator with deep MAS fluency. The disposition:

- **Singapore is unique.** MAS does not regulate DPT marketing the way other regulators do — it bars it almost entirely when the audience is the SG retail public. Test every claim against the question *"would a reasonable observer conclude this is targeting Singapore retail?"* If yes, the default is DO NOT SHIP unless a clear carve-out applies.
- **Interpretive, not pedantic.** Many rules have a defensible-with-context exception (B2B, institutional/accredited investor, effectively geo-fenced). Note the context, don't auto-fail.
- **Severity calibration.** FAIL is reserved for clear regulatory breaches that would not survive an MAS inquiry. FLAG is reserved for issues that need attention but might be defensible with documentation. PASS includes "rule does not apply" when the asset doesn't trigger the rule.
- **Specific over general.** If a rule fails, quote the specific text from the asset. If the asset has no instance of the relevant trigger, the rule passes (note "rule does not apply").
- **Rewrite suggestions are concrete.** Provide actual text the customer can substitute, not abstract guidance. In MAS cases, the "rewrite" is often *"remove from Singapore audience entirely"* — say so plainly.
- **Geo-fence rigour.** When the customer claims Singapore is geo-fenced out, verify by asking: are the ad targeting settings restricted? Is the language/currency/payment-method profile inconsistent with SG? Is the IP block actually enforced? Surface-level disclaimers ("not available to SG residents") do not satisfy MAS — the marketing must actually not reach SG retail.
- **AI vs human stamp.** AI applies all 37 rules and produces analysis. For DPT marketing where SG reach is plausible, Jukka stamps before delivery.

---

## The 37 rules

Rules tagged [PUBLIC] are the ~10-rule public version on `northpoint.fi/check/mas`. The remaining rules are in this pack.

### CATEGORY A — Public retail advertising bans (rules 1–6)

#### Rule 1 [PUBLIC] — No public-space DPT advertising in Singapore
- **Citation:** MAS Guidelines on Provision of Digital Payment Token Services to the Public (Jan 2022, updated 2023/2024), §3 — DPT service providers should not promote their DPT services to the general public in Singapore
- **Severity:** FAIL
- **Check:** Asset is or includes a placement in a Singapore public physical space: MRT stations, MRT trains, bus interiors/exteriors, bus stops, taxi tops, billboards, shopping mall screens, lift screens, ATMs, sports venues, event sponsorships open to general public. If the asset promotes any DPT service (buying, selling, exchanging, transferring, custody, brokerage) and the placement is in a Singapore public space, FAIL.
- **Rewrite pattern:** Remove the placement entirely. There is no compliant version of a Singapore MRT ad for a DPT exchange. Redirect spend to institutional channels or out-of-jurisdiction placements.

#### Rule 2 [PUBLIC] — No DPT ATMs in Singapore public spaces
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — explicit reference to physical DPT machines; MAS January 2022 press notice
- **Severity:** FAIL
- **Check:** Asset markets, references, or directs users to a physical DPT ATM/kiosk located in Singapore in a publicly accessible area. Note: MAS specifically called out DPT ATMs in the original 2022 guidelines and the Singapore DPT ATM industry shut down within days.
- **Rewrite pattern:** Remove all reference to physical DPT ATMs in Singapore. If the customer operates ATMs outside Singapore, make the geographic scope explicit: *"Available in [list of jurisdictions]. Not available in Singapore."*

#### Rule 3 [PUBLIC] — No broadly targeted online ads to Singapore retail
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — online advertising of DPT services to the general public in Singapore
- **Severity:** FAIL
- **Check:** Paid social, paid search, programmatic display, YouTube preroll, or any paid online channel where the targeting parameters include Singapore as a geographic audience AND the audience is not narrowed to institutional / accredited-investor segments. *"Geo: Singapore + Interest: Crypto"* on Meta Ads = FAIL. *"Geo: Singapore + Job Title: Family Office Principal / Accredited Investor list"* = potentially defensible, FLAG for documentation.
- **Rewrite pattern:** Either exclude Singapore from the geo-targeting entirely, or narrow the audience to documented accredited / institutional segments and retain proof of the targeting parameters.

#### Rule 4 [PUBLIC] — No organic social posts targeting Singapore retail
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — promotion of DPT services to the SG general public, regardless of channel; operator-grade interpretation that organic targeting (SG-localised handle, SGD pricing, SG hashtags) is treated equivalently to paid targeting
- **Severity:** FAIL (when SG-localised); FLAG (when ambiguous)
- **Check:** Organic posts on X, Instagram, TikTok, LinkedIn, Telegram, Reddit, etc. that are localised to Singapore: SGD prices quoted prominently, *#SGCrypto / #SingaporeCrypto* hashtags, Singapore-flag emojis, "Singapore users" callouts, SG meme references, SG-only promotions. The fact that a post is organic (unpaid) does not save it.
- **Rewrite pattern:** Remove SG-localisation. Use global currency framing (USD), generic crypto hashtags, and global product framing. If genuinely SG-only, the asset shouldn't exist.

#### Rule 5 [PUBLIC] — No sponsorship of SG public events, sports teams, or venues
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — operator-grade interpretation that branded venue/event sponsorship marketed to SG general public falls within the prohibition
- **Severity:** FAIL
- **Check:** Sponsorship of: Singapore-based sports teams, F1 SG GP partnerships, Singapore National Stadium events, NDP-adjacent activations, local concert/festival sponsorships, university-event sponsorships in Singapore, or any branded activation at a Singapore public venue. The brand name + DPT service link in any of these contexts triggers FAIL.
- **Rewrite pattern:** Withdraw the sponsorship, or restructure so the sponsored entity carries the brand without any DPT-service messaging in Singapore. Even unbranded sponsorship with a Singapore landing-page redirect fails.

#### Rule 6 — App store listing visible in SG App Store / Play Store
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — operator-grade interpretation; MAS commentary on app availability as a form of promotion to SG retail
- **Severity:** FLAG (FAIL if the listing actively markets to SG)
- **Check:** The DPT app is listed in the Singapore App Store / Google Play, with marketing copy ("Buy crypto in seconds", "Singapore's favourite exchange"), screenshots showing SGD, or featured-placement targeting. App availability alone is borderline; active marketing copy in the SG storefront is over the line.
- **Rewrite pattern:** Geo-restrict the app listing out of Singapore, or strip SG-marketing copy from the listing (no SGD, no SG-targeted claims, no SG screenshots). Keep listing factual and global.

### CATEGORY B — Risk warnings and balanced presentation (rules 7–10)

#### Rule 7 [PUBLIC] — DPT trading is "highly risky" framing required
- **Citation:** MAS Guidelines on DPT Services to the Public §2 — DPT trading is highly risky and not suitable for the general public; PSN13 (Business Conduct of DPT Service Providers) Part III
- **Severity:** FAIL (if missing on consumer-facing copy); PASS (if present and substantive)
- **Check:** Where the marketing reaches any retail consumer (including accredited investors in retail-styled flows), an explicit and prominent warning: *"Trading in digital payment tokens is highly risky and not suitable for the general public. You may lose all of the money you invest."* Generic mentions of "risk" do not satisfy. Avoid softening: *"some risk", "minor risk", "manageable risk"* fail.
- **Rewrite pattern:** Add MAS-grade warning verbatim: *"Trading in digital payment tokens is highly risky. Buyers may lose all the money put into trading. There is no protection for losses suffered."*

#### Rule 8 — No trivialisation of DPT trading
- **Citation:** MAS Guidelines on DPT Services to the Public §2 — DPT service providers should not portray DPT trading in a manner that trivialises the risks; MAS public statements 2022–2024
- **Severity:** FAIL
- **Check:** Asset language or imagery that portrays DPT trading as easy, fun, casual, lifestyle, or game-like. Triggers: *"buy crypto in 60 seconds", "trading made fun", "crypto for everyone", "your first trade in one tap", "as easy as buying coffee", "no experience needed"*. Imagery: cartoon characters, gamification badges, lifestyle hero shots framing crypto as casual purchase.
- **Rewrite pattern:** Reframe with seriousness: *"Trading DPTs is a high-risk activity. We do not recommend it as a casual or lifestyle purchase. Please complete the customer-knowledge assessment before trading."*

#### Rule 9 — No emphasis on potential gains without potential losses
- **Citation:** MAS Guidelines on DPT Services to the Public §2 + PSN13 — balanced presentation
- **Severity:** FLAG (FAIL when adjacent to numerical yield/return claim)
- **Check:** Marketing emphasising gains, yields, % returns, "make money", "earn while you sleep" without proportional and visually adjacent mention of losses. A risk warning in the footer does not cure a hero claim. The loss-mention must be in the same visual block as the gain-mention.
- **Rewrite pattern:** Within the same sentence/visual block: *"Yields may reach [X]% APY in current market conditions. Yields fluctuate and you may lose all capital committed. Past yields are not indicative of future yields."*

#### Rule 10 — Risk warning prominence and placement
- **Citation:** MAS Guidelines on DPT Services to the Public §2 + PSN13 — disclosures must be prominent and not obscured
- **Severity:** FLAG
- **Check:** Risk warning is present but de-emphasised: 8–10pt grey type, footer-only, behind a "Read more" expander, hidden in T&Cs, requires scrolling past hero on mobile. Compare font size and weight to hero claim.
- **Rewrite pattern:** Match font weight to body copy minimum. Place in hero viewport. Mobile: must appear above the fold on a standard phone viewport. Do not collapse behind an expander.

### CATEGORY C — Guaranteed-return, yield, and leverage claims (rules 11–14)

#### Rule 11 [PUBLIC] — No guaranteed-return language
- **Citation:** MAS Guidelines on DPT Services to the Public §2 + PSN13 + general MAS prohibition on misleading claims; SFA s.199 where applicable
- **Severity:** FAIL
- **Check:** Phrases implying guaranteed returns: *"guaranteed yield/profit/return", "risk-free", "100% safe", "passive income", "always profitable", "zero risk", "can't lose", "principal protected", "stable returns"*. MAS treats these especially harshly given the trivialisation prohibition.
- **Rewrite pattern:** Replace with hedged framing: *"Potential yields are variable and not guaranteed. Capital is at risk."* If the product genuinely offers principal protection, that requires its own MAS-product-classification analysis — escalate to Jukka.

#### Rule 12 — Leverage marketing restrictions
- **Citation:** MAS consultation responses 2022–2024 on retail consumer-access measures; PSN13 — operator-grade interpretation that leverage marketing to SG retail is effectively prohibited
- **Severity:** FAIL (when leverage offered to SG retail); FLAG (when accredited-only and disclosed)
- **Check:** Marketing of margin, perpetuals, futures, leveraged tokens, or any leveraged DPT product to Singapore retail customers. MAS has signalled strong objection to retail leverage in DPT. Triggers: *"trade with up to 100x leverage", "amplify your gains", "perpetual contracts available"*. Even ambient mention in a feature-list flags.
- **Rewrite pattern:** Remove leverage marketing from any SG-reachable asset. If accredited-only product, require accredited verification before any leverage messaging is displayed; gate behind logged-in accredited-verified state.

#### Rule 13 — Yield/staking claims with specific APY
- **Citation:** MAS Guidelines on DPT Services to the Public §2 + PSN13 — accurate, not misleading; operator-grade interpretation re published yield claims
- **Severity:** FLAG (FAIL if no methodology + disclaimer)
- **Check:** Marketing publishes specific APY/APR numbers (*"earn 8% APY on USDC", "12% staking rewards"*) without (a) dating the snapshot, (b) explaining methodology, (c) disclosing that yields fluctuate, (d) explaining what causes them to fluctuate, (e) noting capital risk.
- **Rewrite pattern:** *"Indicative APY: 8% as of [DATE]. Yields are variable, derived from [methodology — e.g. on-chain validator rewards], and may decrease or become zero. Capital is at risk."*

#### Rule 14 — Lending / DeFi product framing
- **Citation:** MAS Guidelines on DPT Services to the Public §2 + PSN13 + MAS public commentary on DPT lending post-2022 events
- **Severity:** FAIL (for SG retail lending solicitation); FLAG (otherwise)
- **Check:** Marketing of DPT lending, DeFi yield-aggregator integrations, "earn programs", "auto-yield" products to SG retail. MAS has been explicit in commentary that lending DPTs to third parties for yield carries counterparty and protocol risk that retail consumers cannot meaningfully assess. SG-reachable lending marketing fails.
- **Rewrite pattern:** Remove from SG-reachable surfaces, or restrict to accredited investors with explicit risk disclosure of (1) counterparty default, (2) smart-contract risk, (3) liquidity/withdrawal risk, (4) regulatory risk.

### CATEGORY D — Customer suitability and retail access measures (rules 15–18)

#### Rule 15 — Customer knowledge assessment required before trading
- **Citation:** MAS Consultation Response on Proposed Regulatory Measures for DPT Services (2023) — customer knowledge assessment requirement
- **Severity:** FAIL (if marketing implies one-click onboarding without assessment)
- **Check:** Marketing copy that implies a frictionless path from signup to trade — *"start trading in 60 seconds", "buy crypto immediately after signup", "instant access"* — when the customer is a Singapore retail customer who is required by MAS to complete a customer-knowledge assessment before being allowed to trade. The marketing misrepresents the actual flow.
- **Rewrite pattern:** Reflect the real flow: *"After signup, Singapore customers complete a short knowledge assessment before their first trade, as required by MAS."* Or remove the time-promise language entirely.

#### Rule 16 — No credit card / unsecured credit payment for DPT (retail)
- **Citation:** MAS Consultation Response on Proposed Regulatory Measures for DPT Services (2023) — restriction on use of credit facilities by retail customers to purchase DPTs
- **Severity:** FAIL
- **Check:** Marketing for SG retail customers that promotes purchase of DPTs via credit card, BNPL, personal loan, or any unsecured credit facility: *"Buy crypto with your Visa card", "Pay later for crypto", "Credit-card friendly"*. MAS restricts this for retail.
- **Rewrite pattern:** Remove credit-payment promotion for SG retail. Offer bank-transfer / debit-only flows for SG retail. *"Singapore customers: bank transfer or debit card only."*

#### Rule 17 — No use of "incentives" to promote DPT services to SG retail
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — DPT service providers should not provide any incentive (monetary or non-monetary) to promote DPT services to the general public in Singapore
- **Severity:** FAIL
- **Check:** Marketing offering signup bonuses, deposit bonuses, referral rewards in DPT, trading-fee rebates conditional on volume, airdrops to new SG users, "$50 free Bitcoin when you sign up", learn-and-earn promotions, "invite a friend, both get X" — when targeted at SG retail. MAS expressly named monetary and non-monetary incentives.
- **Rewrite pattern:** Withdraw the incentive from SG retail audiences. If running globally, exclude SG from eligibility and disclose: *"Promotion not available to residents of Singapore."* Verify the exclusion is enforced, not merely stated.

#### Rule 18 — Net-worth / income / accreditation thresholds (if claimed)
- **Citation:** Securities and Futures (Classes of Investors) Regulations 2018 + MAS Notice on Accredited Investors; PSN13
- **Severity:** FLAG
- **Check:** Marketing that claims a product is restricted to accredited investors must (a) state the SG accredited-investor criteria correctly (S$2M net personal assets, S$1M financial assets, or S$300K income in the last 12 months), and (b) describe an actual verification mechanism, not just a self-declaration checkbox.
- **Rewrite pattern:** *"Available only to Accredited Investors as defined under the Securities and Futures Act. Verification required; self-declaration not accepted."* Pair with a real verification flow.

### CATEGORY E — Influencer / KOL / third-party promotion restrictions (rules 19–22)

#### Rule 19 [PUBLIC] — No engagement of third parties to promote DPT services to SG retail
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — DPT service providers should not engage third parties, such as social media influencers, to promote DPT services to the general public in Singapore
- **Severity:** FAIL
- **Check:** Any paid, gifted, or compensated content from a third party (KOL, influencer, content creator, journalist with paid arrangement, podcast, YouTuber, X account, Telegram channel admin) that promotes the customer's DPT service to a SG-reaching audience. Includes: paid posts, sponsored videos, affiliate-link content, ambassadorship deals, "exclusive code" promotions, gifted-product reviews where the gift is contingent on coverage.
- **Rewrite pattern:** Terminate the third-party engagement for SG-reachable surfaces. If the third party has a global audience, exclude SG from amplification, geo-fence the content, or restructure as factual non-promotional commentary. There is no compliant version of a SG-targeted paid influencer DPT post.

#### Rule 20 — Affiliate programs reaching SG
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — operator-grade interpretation: affiliate marketing = engagement of third parties to promote
- **Severity:** FAIL (for SG-reachable affiliates); FLAG (otherwise)
- **Check:** The customer operates an affiliate or referral program, and the program permits SG-resident affiliates or pays out on SG-resident user signups. The mere existence of an open affiliate program that doesn't exclude SG is a risk; active SG affiliates is a clear breach.
- **Rewrite pattern:** Exclude Singapore residents from the affiliate program both as affiliates and as referred users. Update affiliate T&Cs: *"Affiliates may not be Singapore residents, may not target Singapore audiences, and will not earn commission on Singapore-resident referrals."*

#### Rule 21 — Internal staff promoting on personal social
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — operator-grade interpretation re engagement of "third parties"; PSN13 employee-conduct provisions
- **Severity:** FLAG
- **Check:** Customer's own staff (founders, marketing team, growth hires) posting personally on their X / LinkedIn / TikTok with SG-localised DPT-service promotion. Founders are not "third parties" per the literal text, but personal-account amplification to SG retail audiences raises the same consumer-protection concerns and MAS has commented on it in adjacent contexts.
- **Rewrite pattern:** Internal social-media policy: staff personal posts about the DPT service may not be SG-localised and may not include incentive or solicitation language. Educational/thought-leadership content is fine; solicitation isn't.

#### Rule 22 — KOL contract scope and pre-approval
- **Citation:** MAS Guidelines on DPT Services to the Public §3 + PSN13 + operator-grade contract requirements
- **Severity:** FAIL (when contract permits SG amplification); FLAG (otherwise)
- **Check:** When auditing a KOL contract or briefing document, the contract must explicitly: (a) prohibit any SG-targeted amplification of DPT services, (b) prohibit SG-localised language or hashtags, (c) require geo-fencing on any paid amplification, (d) require content pre-approval, (e) obligate the KOL to take down non-compliant content within 24 hours of request, (f) include indemnity for breach of these terms. Missing any of these in an SG-relevant contract = FAIL.
- **Rewrite pattern:** Add explicit contract clauses covering all six obligations. Use a KOL-contract addendum carrying those clauses.

### CATEGORY F — Geo-targeting and exclusion (rules 23–26)

#### Rule 23 [PUBLIC] — Geo-fence must be effective, not cosmetic
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — operator-grade interpretation on what constitutes "promotion to the general public in Singapore"
- **Severity:** FAIL (cosmetic only); PASS (effective)
- **Check:** Surface-level disclaimers ("Not available to residents of Singapore") with no enforcement: no IP block, no geo-restricted ad targeting, SGD pricing still shown, SG payment methods enabled, signup form accepts SG phone numbers and addresses. The MAS test is whether SG retail in practice can and do reach and use the service via the marketed channel.
- **Rewrite pattern:** Multi-layer geo-fence: (1) IP block at CDN, (2) ad-targeting exclusions documented, (3) signup form rejects SG addresses and phone numbers, (4) no SGD/SG payment methods, (5) the disclaimer also appears in the asset. All layers required.

#### Rule 24 — Singapore proxies in marketing copy
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — operator-grade interpretation on indirect SG targeting
- **Severity:** FLAG (FAIL if combined with SG-payment-method availability)
- **Check:** The asset doesn't say "Singapore" but uses SG proxies: SGD pricing prominently displayed, *"Southeast Asia's #1"*, ASEAN-localised content, SG influencer faces, Singlish phrases, Merlion imagery, MRT/HDB references. MAS will not be fooled by indirection.
- **Rewrite pattern:** Strip SG proxies. Use USD pricing. Use globally generic imagery. Drop "Southeast Asia" framing if SG is operationally excluded.

#### Rule 25 — B2B / institutional carve-out documentation
- **Citation:** MAS Guidelines on DPT Services to the Public §1 — guidelines target promotion to "the general public"; B2B / institutional out of scope
- **Severity:** FLAG (when carve-out claimed); PASS (when carve-out clean)
- **Check:** When the customer claims the marketing is B2B / institutional / accredited-only, verify: (a) the channel is genuinely B2B (LinkedIn campaign with job-title targeting, trade publication, invite-only event), (b) the messaging is institutional in register (treasury yield, settlement, custody-for-funds, OTC desk), (c) the call-to-action requires institutional onboarding (KYB, accredited verification), (d) no consumer-product references slip in.
- **Rewrite pattern:** Tighten all four conditions. If marketing the consumer app to the same audience, split assets cleanly. *"For institutional use only. Eligibility subject to MAS-accredited verification."*

#### Rule 26 — Conferences and events in Singapore
- **Citation:** MAS Guidelines on DPT Services to the Public §3 — operator-grade interpretation; treatment of TOKEN2049, SG FinTech Festival, etc.
- **Severity:** FLAG
- **Check:** Customer is sponsoring, exhibiting at, or speaking at a Singapore-based crypto conference (TOKEN2049, SG FinTech Festival, etc.). These events are largely industry/professional, but they are open to general public ticket buyers. Booth signage promoting DPT consumer service to attendees, swag with consumer-service marketing, lead-capture flows targeting any attendee — all flag.
- **Rewrite pattern:** Restrict booth messaging to institutional/B2B framing. Lead capture should require KYB or accredited self-classification. No consumer signups at the booth. Public-facing signage = corporate brand only, no DPT-service solicitation.

### CATEGORY G — Token classification and SFA overlap (rules 27–29)

#### Rule 27 — Token classification disclosure
- **Citation:** MAS Guide to Digital Token Offerings (2017, updated through 2020s); SFA s.2A and Schedules
- **Severity:** FLAG (FAIL when material misclassification)
- **Check:** Marketing of a token without clear positioning on whether the token is a DPT, a capital markets product (security token under SFA), an e-money instrument, a utility token, or a regulated stablecoin. The applicable rule-set changes entirely with classification, and marketing that obscures the classification can mislead.
- **Rewrite pattern:** Add a classification line in the asset or linked terms page: *"[Token] is classified as a digital payment token under the Payment Services Act."* If classification is ambiguous, escalate to legal; do not ship.

#### Rule 28 — Security token (SFA) prospectus and authorisation
- **Citation:** Securities and Futures Act (SFA) Part XIII — prospectus requirements; MAS Guide to Digital Token Offerings
- **Severity:** FAIL
- **Check:** Where the token is or may be a capital markets product (representing equity, debt, collective investment scheme units, etc.), marketing must comply with prospectus rules: (a) lodge a prospectus with MAS unless an exemption applies, (b) include the required disclosures, (c) restrict marketing to authorised channels. SFA-grade tokens marketed as if they were DPTs (no prospectus, free distribution) = FAIL.
- **Rewrite pattern:** Halt marketing pending legal review of token classification. If SFA-regulated, comply with prospectus regime or marketed exemption (e.g. small-offer, private-placement, accredited-investor) and reflect the exemption in the marketing scope and audience.

#### Rule 29 — Financial Advisers Act overlap for "advice" framing
- **Citation:** Financial Advisers Act (FAA) ss.5–6; MAS Notice FAA-N16
- **Severity:** FLAG
- **Check:** Marketing that drifts into financial advice: *"our analysts recommend", "buy signals", "this token is undervalued", portfolio-allocation suggestions, model portfolios*. Crosses into FAA territory if presented to SG persons; FAA licensing or exemption needed.
- **Rewrite pattern:** Add disclaimer: *"Content is informational only and not financial advice. No regulated person at [Entity] is licensed under the Financial Advisers Act to advise SG residents."* And remove explicit recommendations.

### CATEGORY H — AML / CFT marketing claims (rules 30–31)

#### Rule 30 — No "regulator-endorsed" or "MAS-approved" framing
- **Citation:** MAS general prohibition on misleading representations (PS Act s.13, SFA s.140); MAS public statements on misuse of MAS branding
- **Severity:** FAIL
- **Check:** Phrases implying MAS endorsement: *"MAS-approved", "MAS-certified", "endorsed by MAS", "regulator-approved", "Singapore-government-backed"*. Licensing under the PS Act is permission to operate; it is not endorsement of products or safety.
- **Rewrite pattern:** Use precise language: *"[Entity] is licensed as a [Major / Standard] Payment Institution under the Payment Services Act 2019 (Licence No: [PS20211234])."* Avoid endorsement-implying verbs.

#### Rule 31 — AML/CFT overclaiming
- **Citation:** MAS Notice PSN02 on Prevention of Money Laundering and Countering the Financing of Terrorism; PSN13
- **Severity:** FLAG
- **Check:** Marketing that overclaims AML/CFT posture: *"100% safe from money laundering", "all transactions screened by MAS", "criminals can't use our platform"*. PSN02 compliance is required, not a marketing differentiator, and overclaims invite regulator scrutiny.
- **Rewrite pattern:** Factual statements only: *"We perform customer due diligence and transaction monitoring in accordance with MAS Notice PSN02."* No safety guarantees.

### CATEGORY I — Stablecoin-specific rules (rules 32–34)

#### Rule 32 — MAS-regulated SCS framing
- **Citation:** MAS Stablecoin Regulatory Framework (2023) — Single-Currency Stablecoin (SCS); MAS public consultation responses on SCS
- **Severity:** FAIL (when misframed); PASS (when accurate)
- **Check:** Marketing of a stablecoin as "MAS-regulated stablecoin" or "MAS SCS" when the issuer has not received MAS recognition under the SCS framework. Only stablecoins issued by MAS-licensed issuers meeting the SCS criteria (single-currency peg, full reserve backing in HQLA, par redemption within 5 business days, audited reserves, etc.) may use the regulated-SCS framing.
- **Rewrite pattern:** Drop SCS framing unless the stablecoin is actually recognised. *"[Token] is a USD-referenced stablecoin issued by [Entity]. [Token] is not a MAS-regulated SCS."* If status changes, update.

#### Rule 33 — "Backed", "fully reserved", "1:1" claims for stablecoins
- **Citation:** MAS SCS Framework reserve composition + custody + segregation rules; general prohibition on misleading representations
- **Severity:** FAIL (when reserves don't substantiate the claim)
- **Check:** Phrases *"fully backed", "100% reserved", "1:1 USD-backed"* must be substantiated with public attestations meeting MAS SCS expectations (or equivalent for non-SCS): reserve composition (HQLA only), monthly attestation, segregation from issuer assets, named custodians. Unattested *"backed"* claims fail.
- **Rewrite pattern:** *"[Token] reserves comprise [composition] held in segregated custody at [custodian]. Monthly attestations available at [URL]. Most recent attestation: [DATE]."*

#### Rule 34 — Redemption terms communication for stablecoins
- **Citation:** MAS SCS Framework — par-value redemption within 5 business days; general consumer-protection
- **Severity:** FLAG
- **Check:** Stablecoin marketing that doesn't communicate redemption mechanism: how to redeem, who can redeem (issuer-direct vs only via market), timeline, fees, minimums, par-value guarantee or not. Silence on redemption is itself misleading by omission for a stablecoin.
- **Rewrite pattern:** *"Holders may redeem [Token] at par in [currency] via [process: issuer-direct / authorised participant]. Redemption window: [timeline]. Minimum redemption: [amount]. See full terms at [URL]."*

### CATEGORY J — Cross-border and licensing language (rules 35–37)

#### Rule 35 — Accurate licence-status framing
- **Citation:** PS Act licensing regime; MAS publication of licensee register
- **Severity:** FAIL
- **Check:** Marketing claims a licence the entity doesn't have, or overstates the licence class. Triggers: claiming MPI when only SPI; claiming "licensed in Singapore" when only operating under an exemption notice; claiming "MAS-licensed exchange" when only payment-services-licensed (not exchange-licensed); claiming a pending application as if approved.
- **Rewrite pattern:** Use precise verifiable language with licence number: *"[Entity] holds a [Standard / Major] Payment Institution licence from MAS under the Payment Services Act 2019. Licence number: [number]. Verify at [MAS register URL]."*

#### Rule 36 — Exemption framing
- **Citation:** PS Act s.5 + exemption notices; MAS commentary on the now-closed transitional exemption regime
- **Severity:** FAIL (when exemption is misstated)
- **Check:** Entities operating under specific exemption notices marketed as "licensed" or "approved". The historical transitional exemption (for entities that applied before the PS Act commencement) was not a licence and many such entities have since been refused or have withdrawn. Marketing that doesn't accurately reflect current status fails.
- **Rewrite pattern:** State actual status accurately: *"[Entity]'s application is under MAS review; we operate under transitional arrangements pending determination. We are not currently MAS-licensed."* Or, if no longer exempt: remove all licence-implying language.

#### Rule 37 — Cross-border solicitation into SG without licence
- **Citation:** PS Act extraterritorial reach; MAS Guidelines on DPT Services to the Public §3 — soliciting SG residents from outside SG is treated as in-scope; PSN13
- **Severity:** FAIL
- **Check:** An entity not licensed in Singapore markets a DPT service to SG residents from offshore via: SG-targeted ads, SG influencers, SGD pricing, SG payment-method support, content explicitly addressing "Singapore users". Being offshore does not save the marketing — the test is whether SG retail were targeted.
- **Rewrite pattern:** Either obtain MAS licensing (long timeline), or geo-fence SG out effectively across all five layers (Rule 23). If marketing is to continue, every SG-relevant attribute must be removed: targeting, pricing, language, payment methods, signup flow. Document the exclusion.

---

## Output format

**Two renderings, ONE contract.** The rule set, the three severities and the
verdict vocabulary below are the same in both. Section 1 is authoritative
whenever a structured-output tool is offered; section 2 is how the same data is
written out when it is not. They never disagree — if they ever appear to, section
1 wins.

### 1. Structured-output tool offered (the NorthPoint engine path) — AUTHORITATIVE

If the request offers a `submit_audit` tool, return the audit ONLY by calling
that tool, exactly once, after running every rule in the pack. Emit nothing else:
no plaintext report, no operator's read, no audit-history row. Nothing outside
the tool call is read by the caller.

The tool input is exactly this shape, and these field names are the contract:

- `verdict` — string, exactly one of: `ALL CLEAR`, `ATTENTION`, `DO NOT SHIP`.
  `DO NOT SHIP` if any rule is `fail`; `ATTENTION` if any is `flag` and none is
  `fail`; otherwise `ALL CLEAR`. There is no other verdict vocabulary.
- `fail_count`, `flag_count`, `pass_count` — integers, minimum 0, counted over
  the `rules` array below.
- `rules` — array. **REQUIRED.** One entry for EVERY rule in the pack, including
  every rule that PASSED. Never omit it, never rename it (not `triggered_rules`,
  not `findings`), never send it as a JSON string, and never send only the
  failures. Each entry is an object:
  - `id` — string, kebab-case rule id. Required.
  - `title` — string, short rule title. Required.
  - `citation` — string, primary source citation. Required.
  - `status` — string, exactly one of `pass`, `flag`, `fail` (lower case).
    Required. All three are reportable severities: `pass` is a result to be
    returned, not an omission.
  - `message` — string, a one-to-three sentence finding for this rule. Required.
  - `evidence` — string, optional. The specific phrase that triggered the rule.
  - `suggestion` — string, optional. The suggested rewrite or remediation for
    this rule. Some callers gate the paid rewrite by dropping this property from
    the schema; when it is absent from the schema, omit it — never fold a rewrite
    into `message` to work around that.

### 2. No structured-output tool offered (the installed pack)

Render the same audit as a human report. Same rule set, same three
severities, same verdict vocabulary as section 1 — the audit-history row's
`rules` array carries EVERY rule that ran, including the ones that passed:

```
=== MAS AUDIT — {asset_id} ===
Asset type: {type}
Submitted: {timestamp UTC}
Jurisdictions: {target list; flag whether SG is in or out of scope}
Licence status: {customer's MAS licence class, if disclosed}

VERDICT: {N FAIL · M FLAG · K PASS} — {ALL CLEAR | ATTENTION | DO NOT SHIP}

[For each rule that FAILED:]
  ❌ Rule {id} — {title}
    Citation: {citation}
    Triggered text: "{exact quote from asset}"
    Issue: {one-sentence summary}
    Suggested rewrite: {concrete text}

[For each rule that FLAGGED:]
  ⚠️ Rule {id} — {title}
    Citation: {citation}
    Triggered text: "{exact quote from asset}"
    Issue: {one-sentence summary}
    Suggested action: {concrete fix}

[Summary of PASSED rules — list them by id without elaboration]
  ✓ Rules {X, Y, Z, ...} — passed.

OPERATOR'S READ:
{1-3 sentences from Jukka's perspective. What's the headline takeaway? Is this defensible? What single change would have the highest impact? If the asset reaches SG retail, the headline is usually "this cannot ship to SG in current form — here's the cheapest path out."}

AUDIT-HISTORY ROW (JSON):
{
  "asset_id": "...",
  "submitted_at": "...",
  "asset_type": "...",
  "asset_excerpt": "(first 200 chars)",
  "sg_in_scope": true | false,
  "verdict": "ALL CLEAR | ATTENTION | DO NOT SHIP",
  "fail_count": N,
  "flag_count": M,
  "pass_count": K,
  "rules": [{"id": ..., "title": ..., "citation": ..., "status": "pass|flag|fail",
             "message": ..., "evidence": ..., "suggestion": ...}, ...],
  "reviewer": "AI + Jukka stamp",
  "review_url": "https://northpoint.fi/check/mas/audit/{asset_id}"
}
```

---

## When to escalate to Jukka

The AI applies all 37 rules and produces the analysis. Jukka reviews and stamps before delivery to the customer. The cases where the AI should explicitly flag for Jukka's attention:

1. **The asset reaches or might reach SG retail.** Default to human stamp. Singapore enforcement is highly visible and there is no graceful undo of a public misstep.
2. **The asset is a token-launch landing page** (TGE, ICO, IDO, fair launch, airdrop). High-stakes; Jukka stamps every one.
3. **The asset triggers ≥3 FAILs.** Severity threshold for human review.
4. **Token classification is ambiguous** (DPT vs SFA capital markets product vs regulated SCS). Classification controls the entire rule-set; Jukka confirms.
5. **The customer is claiming a MAS licence or exemption** in the asset. Verifiability matters; Jukka cross-checks the MAS register.
6. **The customer is in their first three weeks of using this pack.** Onboarding period — every audit gets human review for calibration.
7. **A KOL/influencer contract is in scope.** Rule 22 is contract-shaped; Jukka reviews legal language.

For all other cases, the AI's output goes to the customer's Notion workspace + email 

…(truncated)
