V2
Migrating your FrameAuth (previously FramerAuth) powered site from V1 to V2
How to upgrade your existing project from legacy versions to V2 and unlock powerful new features.

Migrating from V1
TUTORIAL
V2 is a ground-up rebuild designed to help you build more powerful membership websites in Framer without code.
Migrating to V2 unlocks a more flexible access system, improved payment flows, stronger project management, updated components, and a better experience for your members.
Before you can start using V2 on your live site, you will need to migrate your existing V1 project. Some parts of the migration happen automatically, while others require manual updates inside Framer. This guide will walk you through the full process.
We'll migrate your site for free
If you’d rather not handle the setup yourself, reach out and we’ll migrate your project for you.
Migrating to V2 is optional. Legacy will remain fully functional.
New features in V2
Payments:
Stripe payments
Lemon Squeezy
Multi-product (Stripe, Lemon Squeezy)
Project management:
Team access
Multi-project
Analytics
Auth:
OTP
OAuth (Google, Github)
Email verification
Validation (new user approve/reject)
Features:
Webhooks
API
User:
Tags (improved access controls)
Custom Fields
Profile photo
Data that will be migrated
Users
Purchases + access
Bookmarks
Considerations before migrating
Migrating from legacy (V1/beta) to V2 comes with a few important considerations to keep in mind to ensure a smoothly transition.
Please review carefully the following:
Important: Please review!
Test data does not get migrated. No sandbox products, purchases, or users get migrated.
Locked pages are not automatically migrated and will need to be re-locked in V2.
Lemon Squeezy license keys are no longer used/needed in V2.
You must use the new ActionButton component to trigger checkouts. Lemon Squeezy links will not work.
Passwords do not migrate. In V2, users can use passwordless options like OTP, OAuth, or set a new password via the forgot password form.
How to migrate to V2
Now that you've learned about the limitations and considerations, let's migrate:
1
Create a V2 account
If you haven't already, please sign up for a V2 account. Your existing email will only allow you to sign in to V1.
After signing up you will have two accounts, one for V1 and one for V2.
2
Connect Lemon Squeezy
If you did not use Lemon Squeezy in V1, skip this step.

Go to the plugins page and connect your live mode Lemon Squeezy store.
When creating your API key, set the expiration date at least 5 years in the future so you do not need to replace it soon.
Note: Testing data and sandbox purchases will not be migrated. Only live Lemon Squeezy data is imported.
3
Start the migration

Go to the migration page.
Click 'connect site' then sign in with your V1 email address to connect your legacy site, then start the migration.
Monitor the migration progress (you can close the page/website). Depending on the size of your V1 dataset, the migration can take anywhere from 1 minute to 3 hours.
4
Remove the existing snippet
Go to your Framer project settings and open the Custom Code section.
Remove any snippets that were added manually or by the legacy plugin.
The snippet is usually located at the start of the <body> section.

5
Connect your V2 project to your Framer site
Open the plugin, sign in to your V2 account, select your project, and click connect.

Note: if a warning message appears, it will display the same warnings that were mentioned above.
Connecting your project to V2 will not interfere with your existing V1 site or setup. You can undo the migration at any point if you choose to go back to the legacy version for any reason.
If you have any questions or concerns, chat with us.
6
Replace overrides

Open the
FramerAuth.tsxfile in your Framer project.Press
CMD + Aon Mac orCTRL + Aon Windows to select everything in the file.Delete the existing V1 overrides
Paste in the V2 migration overrides:
V2 Overrides
7
Replace missing override instances

Click 'publish' (publish to staging).
When you publish your site to staging, Framer may warn you that some overrides are missing.
This is expected if your project used certain V1 overrides.
Replace the missing V1 overrides with their V2 equivalents:
V1 | V2 |
|---|---|
|
|
|
|
|
|
|
|
|
|
If your project used a custom withPlan or bookmarking overrides in V1, contact support for help updating your setup.
8
Replace legacy components with V2 components

In your Framer project, find the components used in V1 like SignUpForm, SignInForm, etc.
Add the V2 components to the canvas then right click on a V1 component and select 'replace all instances' then select the V2 equivalent.
Legacy forms include "Form" appended at the end while V2 forms do not, so it's easy to distinguish legacy versus V2. For example, the sign in form in legacy is called SignInForm while in V2 it's just called SignIn.
You may also need to rename pages. Double check to make sure your paths pages match. For example, /update-password is called /reset-password in V2.
The V2 pages are:
/sign-in
/sign-up
/forgot-password
/reset-password
/otp
/account
If you used custom page paths in V1, please contact support.
We recommend adding an OTP flow
Existing user's passwords will not be migrated to V2. This means the user can set a new password through the forgot password flow, or what we recommend, is making sign in via OTP your primary sign in.
This will allow your existing users to enter their email address to receive a one-time-password for a seamless login experience.
9
Remove legacy and deprecated components

After replacing with V2 components, delete all legacy components with "Form" appended.
Legacy forms:
SignInFormSignUpFormMemberProfileFormUpdatePasswordFormForgotPasswordForm
Delete deprecated components from your project:
AuthWidgetActivateLicenseForm
10
Replace old Lemon Squeezy checkout links with ActionButton
If you did not use Lemon Squeezy in V1, skip this step.

Important step!
If your website uses Lemon Squeezy links in V1 to trigger a checkout, then this one is important. All checkouts in V2 must be triggered via the new ActionButton component provided in the plugin.

Go to the Store page in your V2 dashboard.
Select the product that was imported from Lemon Squeezy.
Copy the product’s lookup key.
Add the
ActionButtoncomponent to your Framer project.Paste the lookup key into the lookup key field.
Use the
ActionButtonas your new checkout button.
When clicked, the ActionButton will automatically trigger checkout for the selected product.
What has changed with Lemon Squeezy in V2?
In V1, we used Lemon Squeezy license keys to validate access. In V2, license keys are no longer used.
Instead, FrameAuth uses the email address from checkout.
If the user does not already exist, we create an account for them, send them an email notifying them, and grant the correct tags (access). If the user already exists, FrameAuth grants the correct tags to their existing account.
This makes it easier for customers to purchase access and sign in without needing to copy, paste, activate, or manage a license key.
In V2, you can connect more products, variants, and have more flexibility with how access is granted.
11
Review imported tags (access controls)
If you did not use Lemon Squeezy in V1, skip this step.

After migrating we will automatically create tags for your product variants. In V2, tags are how access controls are handled.
Tags are how access control works in V2.
Users can receive tags in two ways:
Automatically after a successful purchase
Manually assigned from the user page in your dashboard
After migration, existing purchasers will already have the tags connected to their previous purchases.
A tag will be created for each product variant that was imported.
Review the tags that were created and adjust them as needed. You can keep the imported tag structure, rename tags, consolidate tags, or create a simpler access structure if that better fits your site.
For example, you may want to use one Premium tag instead of multiple product-specific tags if all premium customers should receive the same access.
12
Re-lock pages

Locked pages are not migrated automatically.
After reviewing your tags, manually re-lock any pages that should be protected.
For each protected page, choose the tag required for access.
For example:
Lock the account page with no tag to make it accessible to users who are signed in.
Lock your course dashboard to users with the
Course AccesstagLock your premium resource library to users with the
Premiumtag
13
Go live and connect custom domain

In V2, connecting a custom domain is required to prevent cookie errors. Your domain will need to be connected in order for your project to go live.
Connect your domain then you're all set to publish your website and start receiving sign ups in V2.
Migration checklist
Before going live, confirm the following:
1
Your Framer project is connected to the correct V2 project
2
Your legacy V1 snippet has been removed from Framer
3
Your FramerAuth.tsx file has been updated
4
Missing overrides have been replaced
5
V1 components have been replaced with V2 components
6
Deprecated components have been deleted
7
Old Lemon Squeezy checkout links have been replaced with ActionButton
8
Imported tags have been reviewed
9
Protected pages have been locked again
10
Your custom domain is connected
11
Sign up, sign in, checkout, and locked content have been tested
12
Your site has been tested on staging before publishing live
FAQ
Will my user's passwords be migrated?
If I plan to use Stripe do I still need to connect Lemon Squeezy?
Do I need to migrate to V2?