DIA agrees enforceable undertaking with Pagemark over AML failures

(Image: Getty)
The Department of Internal Affairs has reached an enforceable undertaking with Pagemark and its director, David Halstead, due to the company's failure to comply with the Anti-Money Laundering and Countering Financing of Terrorism Act.Between January 2017 and March 2025, Pagemark helped form 14 legal entities and provided registered office or business address services to 19 legal entities without conducting appropriate risk assessments or maintaining an adequate Anti-Money Laundering and Countering Financing of Terrorism compliance programme...
Subscribe to BusinessDesk
Stay informed on business, government and financial developments across New Zealand.
- Deeply researched, twice-edited and fact-checked news
- Annual subscribers also receive a complimentary subscription to The Wall Street Journal
- Personalised email news alerts, plus gift up to 5 stories a month to non-subscribers
You can cancel anytime with two clicks, an email or a phone call.
Find out more.
We are serious about journalism.
Already a Subscriber ? Sign in here.
{{ registerForm.errors.get('form') }}
We had trouble validating your card. It's possible your card provider is preventing us from charging the card. Please contact your card provider or customer support.
{{ cardForm.errors.get('card') }}
{{ registerForm.errors.get('plan') }}
{{ __(plans[index].name) | capitalize }}
{{ plans[index].attributes.old_price | currency }}
{{ plans[index].price | currency }}
All subscriptions auto renew but are easy to cancel.
Tax: {{ taxAmount(selectedPlan) | currency }}
Total Price Including Tax: {{ priceWithTax(selectedPlan) | currency }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerSeat ? '/ '+ spark.seatName : '' }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerTeam ? '/ '+ __('teams.team') : '' }} / {{ __(selectedPlan.interval) | capitalize }}
Total Price Including Tax: {{ priceWithTax(selectedPlan) | currency }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerSeat ? '/ '+ spark.seatName : '' }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerTeam ? '/ '+ __('teams.team') : '' }} / {{ __(selectedPlan.interval) | capitalize }}
{{ registerForm.errors.get('email') }}
Not convinced yet?
Subscribe to our free 7am Headlines newsletter.
A quick summary of everything BusinessDesk has published in the previous 24 hours. No BusinessDesk
subscription needed.