The coupon {{ discount }} discount will be applied to your subscription!
Whoops! This coupon code is invalid.
We found your invitation to the {{ invitation.team.name }} team!
Whoops! This invitation code is invalid.
Subscription
{{ registerForm.errors.get('plan') }}

All subscription plan prices are excluding applicable VAT.

{{ plan.name }}
Free {{ plan.price | currency }} {{ plan.type == 'user' && spark.chargesUsersPerSeat ? '/ '+ spark.seatName : '' }} {{ plan.type == 'user' && spark.chargesUsersPerTeam ? '/ '+ __('teams.team') : '' }} {{ plan.type == 'team' && spark.chargesTeamsPerSeat ? '/ '+ spark.teamSeatName : '' }} {{ plan.type == 'team' && spark.chargesTeamsPerMember ? '/ '+ __('teams.member') : '' }} / {{ __(plan.interval) | capitalize }} {{ plan.trialDays }} Day Trial
Profile Register
{{ registerForm.errors.get('form') }}
{{ registerForm.errors.get('invitation') }}
{{ registerForm.errors.get('name') }}
{{ registerForm.errors.get('email') }}
{{ registerForm.errors.get('password') }}
{{ registerForm.errors.get('password_confirmation') }}
{{ registerForm.errors.get('terms') }}
Billing Information
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('address') }}
{{ registerForm.errors.get('address_line_2') }}
{{ registerForm.errors.get('city') }}
{{ registerForm.errors.get('state') }}
{{ registerForm.errors.get('zip') }}
{{ registerForm.errors.get('country') }}
{{ registerForm.errors.get('vat_id') }}
{{ registerForm.errors.get('zip') }}
{{ registerForm.errors.get('coupon') }}
{{ registerForm.errors.get('terms') }}
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.type == 'team' && spark.chargesTeamsPerSeat ? '/ '+ spark.teamSeatName : '' }} {{ selectedPlan.type == 'team' && spark.chargesTeamsPerMember ? '/ '+ __('teams.member') : '' }} / {{ __(selectedPlan.interval) | capitalize }}
DNS Spy is a product of Immutable VOF. Read our privacy policy.
Got questions? Reach out via Twitter on @dnsspy or via info@dnsspy.io.